diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000000..e94afd0a9be --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,61 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node +{ + "name": "Node.js & TypeScript", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm", + "features": { + "ghcr.io/devcontainers/features/github-cli:1": { + "installDirectlyFromGitHubRelease": true, + "version": "latest" + }, + "ghcr.io/devcontainers-extra/features/pnpm:2": { + "version": "latest" + } + }, + "customizations": { + "vscode": { + "settings": { + // # Formatter configs + "editor.defaultFormatter": "biomejs.biome", + "editor.tabSize": 2, + "editor.insertSpaces": true, + "editor.codeActionsOnSave": { + "source.addMissingImports.ts": "always", + "source.removeUnusedImports": "always", + "source.fixAll.biome": "always", + "source.organizeImports.biome": "always" + }, + "biome.suggestInstallingGlobally": false, + + // # JS/TS setting overrides + "javascript.preferences.importModuleSpecifier": "non-relative", + "javascript.preferences.importModuleSpecifierEnding": "index", + "javascript.preferGoToSourceDefinition": true, + "javascript.updateImportsOnFileMove.enabled": "always", + + "typescript.preferences.importModuleSpecifier": "non-relative", + "typescript.preferences.importModuleSpecifierEnding": "index", + "typescript.preferGoToSourceDefinition": true, + "typescript.updateImportsOnFileMove.enabled": "always", + + "typescript.tsserver.experimental.enableProjectDiagnostics": true, + + // # Miscellaneous + "npm.packageManager": "pnpm", + "npm.scriptRunner": "pnpm", + "vitest.cliArguments": "--no-isolate" + }, + "extensions": [ + "biomejs.biome", + "YoavBls.pretty-ts-errors", + "vitest.explorer", + "adpyke.codesnap", // Bind to a hotkey (ctrl+\, etc) for best results + "aaron-bond.better-comments", + "MuTsunTsai.jsdoc-link" + ] + } + }, + "postCreateCommand": "pnpm install", + "forwardPorts": [8000] +} diff --git a/.gitignore b/.gitignore index 00df0002e01..299767e742a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,9 +12,10 @@ dist dist-ssr *.local -# Editor directories and files -.vscode +# Editor directories and files (excluding `extensions.json` for devcontainer) *.code-workspace +.vscode/* +!.vscode/extensions.json .idea .DS_Store *.suo diff --git a/.ls-lint.yml b/.ls-lint.yml index 22f08f72938..0086367367b 100644 --- a/.ls-lint.yml +++ b/.ls-lint.yml @@ -26,3 +26,4 @@ ignore: - .git - public - dist + - .devcontainer diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000000..81abc8df2c0 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,13 @@ +{ + "recommendations": [ + "biomejs.biome", + "YoavBls.pretty-ts-errors", + "vitest.explorer", + + // This stuff isn't mandatory - it's just nice to have :) + + "adpyke.codesnap", // Bind to a hotkey (ctrl+\, etc) for best results + "aaron-bond.better-comments", + "MuTsunTsai.jsdoc-link" + ] +} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2d56b868cff..04ab7ff4faa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ Thank you for taking the time to contribute, every little bit helps. This project is entirely open-source and unmonetized - community contributions are what keep it alive! -Please make sure you understand everything relevant to your changes from the [Table of Contents](#-table-of-contents), and absolutely *feel free to reach out in the **#dev-corner** channel on [Discord](https://discord.gg/pokerogue)*. +Please make sure you understand everything relevant to your changes from the [Table of Contents](#-table-of-contents), and absolutely *feel free to reach out in the **#dev-corner** channel on [Discord](https://discord.gg/pokerogue)*. We are here to help and the better you understand what you're working on, the easier it will be for it to find its way into the game. ## 📄 Table of Contents @@ -16,19 +16,36 @@ We are here to help and the better you understand what you're working on, the ea ## 🛠️ Development Basics -PokéRogue is built with [Typescript](https://www.typescriptlang.org/docs/handbook/intro.html), using the [Phaser](https://github.com/phaserjs/phaser) game framework. +PokéRogue is built with [Typescript](https://www.typescriptlang.org/docs/handbook/intro.html), using the [Phaser](https://github.com/phaserjs/phaser) game framework. -If you have the motivation and experience with Typescript/Javascript (or are willing to learn) you can contribute by forking the repository and making pull requests with contributions. +If you have the motivation and experience with Typescript/Javascript (or are willing to learn), you can contribute by forking the repository and making pull requests with contributions. ## 💻 Environment Setup -### Prerequisites +### Codespaces/Devcontainer Environment -- node: >=22.14.0 - [manage with pnpm](https://pnpm.io/cli/env) | [manage with fnm](https://github.com/Schniz/fnm) | [manage with nvm](https://github.com/nvm-sh/nvm) +Arguably the easiest way to get started is by using the prepared development environment. + +We have a `.devcontainer/devcontainer.json` file, meaning we are compatible with: + +- [![Open in GitHub Codespaces][codespaces-badge]][codespaces-link], or +- the [Visual Studio Code Remote - Containers][devcontainer-ext] extension. + +This Linux environment comes with all required dependencies needed to start working on the project. + +[codespaces-badge]: +[codespaces-link]: +[devcontainer-ext]: + +### Local Development + +#### Prerequisites + +- node: >=22.14.0 - [manage with pnpm](https://pnpm.io/cli/env) | [manage with fnm](https://github.com/Schniz/fnm) | [manage with nvm](https://github.com/nvm-sh/nvm) | [manage with volta.sh](https://volta.sh/) - pnpm: 10.x - [how to install](https://pnpm.io/installation) (not recommended to install via `npm` on Windows native) | [alternate method - volta.sh](https://volta.sh/) - The repository [forked](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) and [cloned](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) locally on your device -### Running Locally +#### Running Locally 1. Run `pnpm install` from the repository root - *if you run into any errors, reach out in the **#dev-corner** channel on Discord* @@ -36,7 +53,7 @@ If you have the motivation and experience with Typescript/Javascript (or are wil ## 🚀 Getting Started -A great way to develop an understanding of how the project works is to look at test cases (located in [the `test` folder](./test/)). +A great way to develop an understanding of how the project works is to look at test cases (located in [the `test` folder](./test/)). Tests show you both how things are supposed to work and the expected "flow" to get from point A to point B in battles. *This is a big project and you will be confused at times - never be afraid to reach out and ask questions in **#dev-corner***! @@ -50,7 +67,7 @@ Most issues are bugs and are labeled with their area, such as `Move`, `Ability`, - `P2`: Minor - Incorrect (but non-crashing) move/ability/interaction - `P3`: No gameplay impact - typo, minor graphical error, etc. -Also under issues, you can take a look at the [List of Partial / Unimplemented Moves and Abilities](https://github.com/pagefaultgames/pokerogue/issues/3503) and the [Bug Board](https://github.com/orgs/pagefaultgames/projects/3) (the latter is essentially the same as the issues page but easier to work with). +Also under issues, you can take a look at the [List of Partial / Unimplemented Moves and Abilities](https://github.com/pagefaultgames/pokerogue/issues/3503) and the [Bug Board](https://github.com/orgs/pagefaultgames/projects/3). The latter is essentially the same as the issues page, so take your pick. You are free to comment on any issue so that you may be assigned to it and we can avoid multiple people working on the same thing. @@ -58,7 +75,7 @@ You are free to comment on any issue so that you may be assigned to it and we ca You can find the auto-generated documentation [here](https://pagefaultgames.github.io/pokerogue/main/index.html). -Additionally, the [docs folder](./docs) contains a variety of in-depth documents and guides useful for aspiring contributors. +Additionally, the [docs folder](./docs) contains a variety of in-depth documents and guides useful for aspiring contributors. \ Notable topics include: - [Commenting your code](./docs/comments.md) - [Linting & Formatting](./docs/linting.md) @@ -81,22 +98,22 @@ For example, here is how you could test a scenario where the player Pokemon has ```typescript const overrides = { ABILITY_OVERRIDE: AbilityId.DROUGHT, - OPP_MOVESET_OVERRIDE: MoveId.WATER_GUN, + ENEMY_MOVESET_OVERRIDE: MoveId.WATER_GUN, } satisfies Partial>; ``` Read through `src/overrides.ts` file to find the override that fits your needs - there are a lot of them! -If the situation you're trying to test can't be created using existing overrides (or with the [Dev Save](#-development-save-file)), reach out in **#dev-corner**. +If the situation you're trying to test can't be created using existing overrides (or with the [Dev Save](#-development-save-file)), reach out in **#dev-corner**. You can get help testing your specific changes, and you might have found a new override that needs to be created! ### 2 - Automatic Testing > PokéRogue uses [Vitest](https://vitest.dev/) for automatic testing. Checking out the existing tests in the [test](./test/) folder is a great way to understand how this works, and to get familiar with the project as a whole. -To make sure your changes didn't break any existing test cases, run `pnpm test:silent` in your terminal. You can also provide an argument to the command: to run only the Dancer (ability) tests, you could write `pnpm test:silent dancer`. +To make sure your changes didn't break any existing test cases, run `pnpm test:silent` in your terminal. You can also provide an argument to the command: to run only the Dancer (ability) tests, you could write `pnpm test:silent dancer`. - __Note that passing all test cases does *not* guarantee that everything is working properly__. The project does not have complete regression testing. -Most non-trivial changes (*especially bug fixes*) should come along with new test cases. +Most non-trivial changes (*especially bug fixes*) should come along with new test cases. - To make a new test file, run `pnpm test:create` and follow the prompts. If the move/ability/etc. you're modifying already has tests, simply add new cases to the end of the file. As mentioned before, the easiest way to get familiar with the system and understand how to write your own tests is simply to read the existing tests, particularly ones similar to the tests you intend to write. - Ensure that new tests: - Are deterministic. In other words, the test should never pass or fail when it shouldn't due to randomness. This involves primarily ensuring that abilities and moves are never randomly selected. @@ -107,4 +124,4 @@ Most non-trivial changes (*especially bug fixes*) should come along with new tes > Some issues may require you to have unlocks on your save file which go beyond normal overrides. For this reason, the repository contains a [save file](../test/test-utils/saves/everything.psrv) with _everything_ unlocked (even ones not legitimately obtainable, like unimplemented variant shinies). 1. Start the game up locally and navigate to `Menu -> Manage Data -> Import Data` -2. Select [everything.prsv](test/test-utils/saves/everything.prsv) (`test/test-utils/saves/everything.prsv`) and confirm. +2. Select [everything.prsv](test/test-utils/saves/everything.prsv) (`test/test-utils/saves/everything.prsv`) and confirm. \ No newline at end of file diff --git a/CREDITS.md b/CREDITS.md index bca89c816ca..6bd73d72901 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -24,9 +24,10 @@ - Pokémon Sword/Shield - Pokémon Legends: Arceus - Pokémon Scarlet/Violet -- Firel (Custom Graveyard, Ice Cave, Laboratory, Metropolis, Plains, Power Plant, Seabed, Space, and Volcano biome music) +- Firel (Custom Graveyard, Ice Cave, Laboratory, Metropolis, Plains, Power Plant, Seabed, Space, Volcano, and Desert biome music) - Lmz (Custom Ancient Ruins, Jungle, and Lake biome music) -- Andr06 (Custom Forest, Slum and Sea biome music) +- Andr06 (Custom Forest, Slum, Sea, and Fairy Cave biome music) +- Leavannite (Custom Wasteland biome music) - _tresnoir - unveiler diff --git a/biome.jsonc b/biome.jsonc index d2f7c711dc9..a63ce0ee07d 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -36,7 +36,6 @@ "!**/src/data/balance/tms.ts" ] }, - "assist": { "actions": { "source": { diff --git a/docs/localization.md b/docs/localization.md index 0fe950a361d..c325aaf55a9 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -90,9 +90,13 @@ If this feature requires new text, the text should be integrated into the code w - For any feature pulled from the mainline Pokémon games (e.g. a Move or Ability implementation), it's best practice to include a source link for any added text. [Poké Corpus](https://abcboy101.github.io/poke-corpus/) is a great resource for finding text from the mainline games; otherwise, a video/picture showing the text being displayed should suffice. - You should also [notify the current Head of Translation](#notifying-translation) to ensure a fast response. -3. At this point, you may begin [testing locales integration in your main PR](#documenting-locales-changes). -4. The Translation Team will approve the locale PR (after corrections, if necessary), then merge it into `pokerogue-locales`. -5. The Dev Team will approve your main PR for your feature, then merge it into PokéRogue's beta environment. +3. Your locales should use the following format: + - File names should be in `kebab-case`. Example: `trainer-names.json` + - Key names should be in `camelCase`. Example: `aceTrainer` + - If you make use of i18next's inbuilt [context support](https://www.i18next.com/translation-function/context), you need to use `snake_case` for the context key. Example: `aceTrainer_male` +4. At this point, you may begin [testing locales integration in your main PR](#documenting-locales-changes). +5. The Translation Team will approve the locale PR (after corrections, if necessary), then merge it into `pokerogue-locales`. +6. The Dev Team will approve your main PR for your feature, then merge it into PokéRogue's beta environment. [^2]: For those wondering, the reason for choosing English specifically is due to it being the master language set in Pontoon (the program used by the Translation Team to perform locale updates). If a key is present in any language _except_ the master language, it won't appear anywhere else in the translation tool, rendering missing English keys quite a hassle. diff --git a/package.json b/package.json index d3494da677c..d3ea890c005 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,6 @@ "test:silent": "vitest run --silent='passed-only' --no-isolate", "test:create": "node scripts/create-test/create-test.js", "typecheck": "tsc --noEmit", - "eslint": "eslint --fix .", - "eslint-ci": "eslint .", "biome": "biome check --write --changed --no-errors-on-unmatched --diagnostic-level=error", "biome-ci": "biome ci --diagnostic-level=error --reporter=github --no-errors-on-unmatched", "docs": "typedoc", @@ -29,6 +27,7 @@ "devDependencies": { "@biomejs/biome": "2.0.0", "@ls-lint/ls-lint": "2.3.1", + "@types/crypto-js": "^4.2.0", "@types/jsdom": "^21.1.7", "@types/node": "^22.16.5", "@vitest/coverage-istanbul": "^3.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 900be6fd76e..c3b58a60f48 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,6 +48,9 @@ importers: '@ls-lint/ls-lint': specifier: 2.3.1 version: 2.3.1 + '@types/crypto-js': + specifier: ^4.2.0 + version: 4.2.2 '@types/jsdom': specifier: ^21.1.7 version: 21.1.7 @@ -718,6 +721,9 @@ packages: '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + '@types/crypto-js@4.2.2': + resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==} + '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -2525,6 +2531,8 @@ snapshots: '@types/cookie@0.6.0': {} + '@types/crypto-js@4.2.2': {} + '@types/deep-eql@4.0.2': {} '@types/estree@1.0.8': {} diff --git a/public/audio/bgm/desert.mp3 b/public/audio/bgm/desert.mp3 index febbacc0100..10938f814fe 100644 Binary files a/public/audio/bgm/desert.mp3 and b/public/audio/bgm/desert.mp3 differ diff --git a/public/audio/bgm/fairy_cave.mp3 b/public/audio/bgm/fairy_cave.mp3 index 4e1c9ea0eb4..32cc3dbaa41 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/wasteland.mp3 b/public/audio/bgm/wasteland.mp3 index 646cbd89a1f..ee096af99ac 100644 Binary files a/public/audio/bgm/wasteland.mp3 and b/public/audio/bgm/wasteland.mp3 differ diff --git a/public/exp-sprites.json b/public/exp-sprites.json index 1903a6c7804..21c89276127 100644 --- a/public/exp-sprites.json +++ b/public/exp-sprites.json @@ -525,10 +525,6 @@ "767", "768", "768", - "769", - "769", - "770", - "770", "771", "771", "772", @@ -751,10 +747,6 @@ "841", "842", "842", - "843", - "843", - "844", - "844", "845-gorging", "845-gorging", "845-gulping", @@ -893,10 +885,6 @@ "900", "901", "901", - "902-female", - "902-female", - "902", - "902", "903", "903", "904", @@ -1641,10 +1629,6 @@ "767b", "768b", "768b", - "769b", - "769b", - "770b", - "770b", "771b", "771b", "772b", @@ -1867,10 +1851,6 @@ "841b", "842b", "842b", - "843b", - "843b", - "844b", - "844b", "845b-gorging", "845b-gorging", "845b-gulping", @@ -2009,10 +1989,6 @@ "900b", "901b", "901b", - "902b-female", - "902b-female", - "902b", - "902b", "903b", "903b", "904b", @@ -2757,10 +2733,6 @@ "767sb", "768sb", "768sb", - "769sb", - "769sb", - "770sb", - "770sb", "771sb", "771sb", "772sb", @@ -2983,10 +2955,6 @@ "841sb", "842sb", "842sb", - "843sb", - "843sb", - "844sb", - "844sb", "845sb-gorging", "845sb-gorging", "845sb-gulping", @@ -3125,10 +3093,6 @@ "900sb", "901sb", "901sb", - "902sb-female", - "902sb-female", - "902sb", - "902sb", "903sb", "903sb", "904sb", @@ -3878,10 +3842,6 @@ "767s", "768s", "768s", - "769s", - "769s", - "770s", - "770s", "771s", "771s", "772s", @@ -4104,10 +4064,6 @@ "841s", "842s", "842s", - "843s", - "843s", - "844s", - "844s", "845s-gorging", "845s-gorging", "845s-gulping", @@ -4246,10 +4202,6 @@ "900s", "901s", "901s", - "902s-female", - "902s-female", - "902s", - "902s", "903s", "903s", "904s", diff --git a/public/images/items/ampharosite.png b/public/images/items/ampharosite.png index 154f7ea5609..3297b4a90b8 100644 Binary files a/public/images/items/ampharosite.png and b/public/images/items/ampharosite.png differ diff --git a/public/images/items/amulet_coin.png b/public/images/items/amulet_coin.png index 727562836c4..8c86df496e4 100644 Binary files a/public/images/items/amulet_coin.png and b/public/images/items/amulet_coin.png differ diff --git a/public/images/items/blunder_policy.png b/public/images/items/blunder_policy.png index 8104d00c40c..ba7b12ebaab 100644 Binary files a/public/images/items/blunder_policy.png and b/public/images/items/blunder_policy.png differ diff --git a/public/images/items/bug_memory.png b/public/images/items/bug_memory.png index a71637ceb5a..fce22e69081 100644 Binary files a/public/images/items/bug_memory.png and b/public/images/items/bug_memory.png differ diff --git a/public/images/items/catching_charm.png b/public/images/items/catching_charm.png index 4699b8c3d85..8fd89791206 100644 Binary files a/public/images/items/catching_charm.png and b/public/images/items/catching_charm.png differ diff --git a/public/images/items/diancite.png b/public/images/items/diancite.png index fbb0267fb59..3c871b3158b 100644 Binary files a/public/images/items/diancite.png and b/public/images/items/diancite.png differ diff --git a/public/images/items/galarica_cuff.png b/public/images/items/galarica_cuff.png index 4706279c43d..223be91acee 100644 Binary files a/public/images/items/galarica_cuff.png and b/public/images/items/galarica_cuff.png differ diff --git a/public/images/items/gardevoirite.png b/public/images/items/gardevoirite.png index 9180b369df4..5f5d75f7ca5 100644 Binary files a/public/images/items/gardevoirite.png and b/public/images/items/gardevoirite.png differ diff --git a/public/images/items/gb.png b/public/images/items/gb.png index bcc88593fad..3a47a5cd3ce 100644 Binary files a/public/images/items/gb.png and b/public/images/items/gb.png differ diff --git a/public/images/items/hp_up.png b/public/images/items/hp_up.png index b9284383978..ddbca745436 100644 Binary files a/public/images/items/hp_up.png and b/public/images/items/hp_up.png differ diff --git a/public/images/items/leftovers.png b/public/images/items/leftovers.png index c06eaf073d9..43200bfe559 100644 Binary files a/public/images/items/leftovers.png and b/public/images/items/leftovers.png differ diff --git a/public/images/items/magnet.png b/public/images/items/magnet.png index f8668e72abd..13a602d7140 100644 Binary files a/public/images/items/magnet.png and b/public/images/items/magnet.png differ diff --git a/public/images/items/max_mushrooms.png b/public/images/items/max_mushrooms.png index 10ff9f5a72f..e1b066b0267 100644 Binary files a/public/images/items/max_mushrooms.png and b/public/images/items/max_mushrooms.png differ diff --git a/public/images/items/mega_bracelet.png b/public/images/items/mega_bracelet.png index 674c59a8f5a..5dde0be94ac 100644 Binary files a/public/images/items/mega_bracelet.png and b/public/images/items/mega_bracelet.png differ diff --git a/public/images/items/mint_atk.png b/public/images/items/mint_atk.png index f42e0cccfc0..0af6364f09c 100644 Binary files a/public/images/items/mint_atk.png and b/public/images/items/mint_atk.png differ diff --git a/public/images/items/n_solarizer.png b/public/images/items/n_solarizer.png index 787d2b49bc4..6060fe4e5fb 100644 Binary files a/public/images/items/n_solarizer.png and b/public/images/items/n_solarizer.png differ diff --git a/public/images/items/poison_barb.png b/public/images/items/poison_barb.png index b85f7d3b777..0454c5b5e78 100644 Binary files a/public/images/items/poison_barb.png and b/public/images/items/poison_barb.png differ diff --git a/public/images/items/power_herb.png b/public/images/items/power_herb.png index 477e32e3271..9f877f62396 100644 Binary files a/public/images/items/power_herb.png and b/public/images/items/power_herb.png differ diff --git a/public/images/items/rayquazite.png b/public/images/items/rayquazite.png index 6617924c434..80f467522fd 100644 Binary files a/public/images/items/rayquazite.png and b/public/images/items/rayquazite.png differ diff --git a/public/images/items/ribbon_gen4.png b/public/images/items/ribbon_gen4.png index ad4cb139a7e..a7765d1de50 100644 Binary files a/public/images/items/ribbon_gen4.png and b/public/images/items/ribbon_gen4.png differ diff --git a/public/images/items/ribbon_gen5.png b/public/images/items/ribbon_gen5.png index a4f99ffb7f2..00b84aab978 100644 Binary files a/public/images/items/ribbon_gen5.png and b/public/images/items/ribbon_gen5.png differ diff --git a/public/images/items/sceptilite.png b/public/images/items/sceptilite.png index 4b255b1ff6d..4411c172826 100644 Binary files a/public/images/items/sceptilite.png and b/public/images/items/sceptilite.png differ diff --git a/public/images/items/scroll_of_waters.png b/public/images/items/scroll_of_waters.png index 9195a26abe1..adacf66398f 100644 Binary files a/public/images/items/scroll_of_waters.png and b/public/images/items/scroll_of_waters.png differ diff --git a/public/images/items/soothe_bell.png b/public/images/items/soothe_bell.png index d21da03f663..8ca868108d3 100644 Binary files a/public/images/items/soothe_bell.png and b/public/images/items/soothe_bell.png differ diff --git a/public/images/items/sweet_apple.png b/public/images/items/sweet_apple.png index de183d1c644..591961604f8 100644 Binary files a/public/images/items/sweet_apple.png and b/public/images/items/sweet_apple.png differ diff --git a/public/images/items/tm_ice.png b/public/images/items/tm_ice.png index eece8623654..26354211f6d 100644 Binary files a/public/images/items/tm_ice.png and b/public/images/items/tm_ice.png differ diff --git a/public/images/items/tm_normal.png b/public/images/items/tm_normal.png index cede4cb96e2..8bc5e6b6a24 100644 Binary files a/public/images/items/tm_normal.png and b/public/images/items/tm_normal.png differ diff --git a/public/images/items/toxic_orb.png b/public/images/items/toxic_orb.png index 8b8a1026f92..f18a55c43dc 100644 Binary files a/public/images/items/toxic_orb.png and b/public/images/items/toxic_orb.png differ diff --git a/public/images/items/unknown.png b/public/images/items/unknown.png index 17697d0d640..7a1dc347093 100644 Binary files a/public/images/items/unknown.png and b/public/images/items/unknown.png differ diff --git a/public/images/items/white_herb.png b/public/images/items/white_herb.png index 0729602fd15..9e6aa77eeff 100644 Binary files a/public/images/items/white_herb.png and b/public/images/items/white_herb.png differ diff --git a/public/images/items/wl_antidote.png b/public/images/items/wl_antidote.png index 18a74292dcf..3a60ed639a7 100644 Binary files a/public/images/items/wl_antidote.png and b/public/images/items/wl_antidote.png differ diff --git a/public/images/items/wl_awakening.png b/public/images/items/wl_awakening.png index 4fa59e2d10d..27bbd49253a 100644 Binary files a/public/images/items/wl_awakening.png and b/public/images/items/wl_awakening.png differ diff --git a/public/images/items/wl_burn_heal.png b/public/images/items/wl_burn_heal.png index 98fa6c11766..3bbf5298a1d 100644 Binary files a/public/images/items/wl_burn_heal.png and b/public/images/items/wl_burn_heal.png differ diff --git a/public/images/items/wl_custom_thief.png b/public/images/items/wl_custom_thief.png index aa6f9e0acc7..8d54f18e739 100644 Binary files a/public/images/items/wl_custom_thief.png and b/public/images/items/wl_custom_thief.png differ diff --git a/public/images/items/wl_elixir.png b/public/images/items/wl_elixir.png index e9b7b48ab87..8146091e46b 100644 Binary files a/public/images/items/wl_elixir.png and b/public/images/items/wl_elixir.png differ diff --git a/public/images/items/wl_ether.png b/public/images/items/wl_ether.png index 457f2bf0649..03be51f7532 100644 Binary files a/public/images/items/wl_ether.png and b/public/images/items/wl_ether.png differ diff --git a/public/images/items/wl_full_heal.png b/public/images/items/wl_full_heal.png index 361d432781a..2f0d58e201d 100644 Binary files a/public/images/items/wl_full_heal.png and b/public/images/items/wl_full_heal.png differ diff --git a/public/images/items/wl_hyper_potion.png b/public/images/items/wl_hyper_potion.png index 016c257a1eb..7d6028eb784 100644 Binary files a/public/images/items/wl_hyper_potion.png and b/public/images/items/wl_hyper_potion.png differ diff --git a/public/images/items/wl_ice_heal.png b/public/images/items/wl_ice_heal.png index 619d30d9ca9..3d94ca63a3b 100644 Binary files a/public/images/items/wl_ice_heal.png and b/public/images/items/wl_ice_heal.png differ diff --git a/public/images/items/wl_max_elixir.png b/public/images/items/wl_max_elixir.png index 4df3eaff10a..40ed8baa441 100644 Binary files a/public/images/items/wl_max_elixir.png and b/public/images/items/wl_max_elixir.png differ diff --git a/public/images/items/wl_max_ether.png b/public/images/items/wl_max_ether.png index 0e174f9eba4..eeaad41fa05 100644 Binary files a/public/images/items/wl_max_ether.png and b/public/images/items/wl_max_ether.png differ diff --git a/public/images/items/wl_max_potion.png b/public/images/items/wl_max_potion.png index 2f334795489..4c37c175e38 100644 Binary files a/public/images/items/wl_max_potion.png and b/public/images/items/wl_max_potion.png differ diff --git a/public/images/items/wl_paralyze_heal.png b/public/images/items/wl_paralyze_heal.png index ba9c172fa17..35d29b54452 100644 Binary files a/public/images/items/wl_paralyze_heal.png and b/public/images/items/wl_paralyze_heal.png differ diff --git a/public/images/items/wl_potion.png b/public/images/items/wl_potion.png index a70bba17b2f..cce66644ed9 100644 Binary files a/public/images/items/wl_potion.png and b/public/images/items/wl_potion.png differ diff --git a/public/images/items/wl_super_potion.png b/public/images/items/wl_super_potion.png index 5bf5dd8fc89..62177ddbb26 100644 Binary files a/public/images/items/wl_super_potion.png and b/public/images/items/wl_super_potion.png differ diff --git a/public/images/logo_fake.png b/public/images/logo_fake.png index 9fdb8724025..42d1aeca7a5 100755 Binary files a/public/images/logo_fake.png and b/public/images/logo_fake.png differ diff --git a/public/images/pokeball/gb_opening.png b/public/images/pokeball/gb_opening.png index 075aafeb460..4122b2ffbc8 100644 Binary files a/public/images/pokeball/gb_opening.png and b/public/images/pokeball/gb_opening.png differ diff --git a/public/images/pokeball/pb_open.png b/public/images/pokeball/pb_open.png index 0fdfa7b98fa..bfb8e592742 100644 Binary files a/public/images/pokeball/pb_open.png and b/public/images/pokeball/pb_open.png differ diff --git a/public/images/pokeball/pb_opening.png b/public/images/pokeball/pb_opening.png index 1a7136f186d..415d0f92f1f 100644 Binary files a/public/images/pokeball/pb_opening.png and b/public/images/pokeball/pb_opening.png differ diff --git a/public/images/pokeball/rb_open.png b/public/images/pokeball/rb_open.png index 3fe5f6e81c7..db65009898c 100644 Binary files a/public/images/pokeball/rb_open.png and b/public/images/pokeball/rb_open.png differ diff --git a/public/images/pokeball/ub_open.png b/public/images/pokeball/ub_open.png index 29e5ddac92f..c15a51329b6 100644 Binary files a/public/images/pokeball/ub_open.png and b/public/images/pokeball/ub_open.png differ diff --git a/public/images/pokeball/ub_opening.png b/public/images/pokeball/ub_opening.png index 0696c666d95..09f73970f3c 100644 Binary files a/public/images/pokeball/ub_opening.png and b/public/images/pokeball/ub_opening.png differ diff --git a/public/images/pokemon/550-white-striped.json b/public/images/pokemon/550-white-striped.json index eb963db2d29..f667f112133 100644 --- a/public/images/pokemon/550-white-striped.json +++ b/public/images/pokemon/550-white-striped.json @@ -1,41 +1,810 @@ -{ - "textures": [ - { - "image": "550-white-striped.png", - "format": "RGBA8888", - "size": { - "w": 38, - "h": 38 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 38, - "h": 35 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 38, - "h": 35 - }, - "frame": { - "x": 0, - "y": 0, - "w": 38, - "h": 35 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:19e55d3270c43844570910aed8f3eef6:683644c43d593c0354648cc542f0c330:f97864a794849ea9866466461e0e9a7f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 111, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 219, "y": 102, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 199, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 166, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 133, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 100, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 67, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 34, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 0, "y": 170, "w": 34, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 34, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 36, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 0, "y": 136, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 183, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 147, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 153, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 0, "y": 68, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 123, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 0, "w": 42, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 42, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 42, "y": 0, "w": 41, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 41, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 83, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 195, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 156, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 117, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 115, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 111, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 219, "y": 102, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 199, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 166, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 133, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 100, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 67, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 34, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 0, "y": 170, "w": 34, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 34, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 36, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 0, "y": 136, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 183, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 147, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 153, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 68, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 123, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 42, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 42, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 42, "y": 0, "w": 41, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 41, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 83, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 195, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 156, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 117, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 115, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 111, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 219, "y": 102, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 199, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 166, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 133, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 100, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 67, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 34, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 0, "y": 170, "w": 34, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 34, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 36, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 0, "y": 136, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 183, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 147, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 153, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 0, "y": 68, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 123, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 0, "y": 0, "w": 42, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 42, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 42, "y": 0, "w": 41, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 41, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 83, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 195, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 156, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 117, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 115, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 71, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 78, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 106, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 39, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 141, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 0, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 176, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 202, "y": 0, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 74, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 0, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 211, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 0, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 191, "y": 68, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 0, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 163, "y": 0, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 77, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 1, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 39, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 0, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "550-white-striped.png", + "format": "I8", + "size": { "w": 252, "h": 204 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/550-white-striped.png b/public/images/pokemon/550-white-striped.png index 3dceb30cddf..a7f4d1c12f6 100644 Binary files a/public/images/pokemon/550-white-striped.png and b/public/images/pokemon/550-white-striped.png differ diff --git a/public/images/pokemon/769.json b/public/images/pokemon/769.json index c425fb49bf9..36284af1640 100644 --- a/public/images/pokemon/769.json +++ b/public/images/pokemon/769.json @@ -1,41 +1,423 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 54, - "h": 54 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 54, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:b2e38d3d91d264c48c1ffdd32ab30e76:78adce15d31dd8e3d3a9121d4b745f8c:ba2e5a01352778ce94d84746368de8fc$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 330 + }, + { + "filename": "0012.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 160, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 330 + }, + { + "filename": "0022.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 0, "y": 44, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 0, "y": 0, "w": 59, "h": 44 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 59, "h": 44 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 141, "w": 63, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 21, "w": 63, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 160, "y": 140, "w": 65, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 22, "w": 65, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 770 + }, + { + "filename": "0027.png", + "frame": { "x": 160, "y": 140, "w": 65, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 22, "w": 65, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 0, "y": 141, "w": 63, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 21, "w": 63, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 0, "w": 59, "h": 44 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 59, "h": 44 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 0, "y": 44, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 330 + }, + { + "filename": "0037.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 113, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 161, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 90, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 106, "y": 140, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 106, "y": 140, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 167, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 161, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 53, "y": 94, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "769.png", + "format": "I8", + "size": { "w": 225, "h": 186 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/769.png b/public/images/pokemon/769.png index 842a0f90b2f..fadd62efceb 100644 Binary files a/public/images/pokemon/769.png and b/public/images/pokemon/769.png differ diff --git a/public/images/pokemon/770.json b/public/images/pokemon/770.json index b5ba601c3e9..2170fc02cbc 100644 --- a/public/images/pokemon/770.json +++ b/public/images/pokemon/770.json @@ -1,41 +1,594 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 76, - "h": 76 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 76, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - }, - "frame": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:5b15a844833418603e40a60d823841c9:48f2094c3097b1b222f1ed5ded0948a4:9a5e6a86eb0697afa19bc4a32f422cc1$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0012.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 419, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 85, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0022.png", + "frame": { "x": 253, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 80, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 414, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 154, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 238, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0027.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0037.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0046.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0047.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0048.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0049.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0050.png", + "frame": { "x": 492, "y": 109, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0051.png", + "frame": { "x": 306, "y": 111, "w": 80, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 80, "h": 53 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0052.png", + "frame": { "x": 306, "y": 164, "w": 83, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 10, "w": 83, "h": 47 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0053.png", + "frame": { "x": 472, "y": 201, "w": 90, "h": 38 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 19, "w": 90, "h": 38 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0054.png", + "frame": { "x": 472, "y": 165, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0055.png", + "frame": { "x": 0, "y": 167, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0056.png", + "frame": { "x": 96, "y": 168, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0057.png", + "frame": { "x": 192, "y": 168, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0058.png", + "frame": { "x": 96, "y": 168, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0059.png", + "frame": { "x": 0, "y": 167, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0060.png", + "frame": { "x": 0, "y": 203, "w": 90, "h": 38 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 19, "w": 90, "h": 38 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0061.png", + "frame": { "x": 389, "y": 164, "w": 83, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 10, "w": 83, "h": 47 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0062.png", + "frame": { "x": 386, "y": 111, "w": 80, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 80, "h": 53 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0063.png", + "frame": { "x": 0, "y": 110, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0064.png", + "frame": { "x": 230, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "770.png", + "format": "I8", + "size": { "w": 572, "h": 241 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/770.png b/public/images/pokemon/770.png index 5b3c508ad16..e83e33e76a6 100644 Binary files a/public/images/pokemon/770.png and b/public/images/pokemon/770.png differ diff --git a/public/images/pokemon/843.json b/public/images/pokemon/843.json index 0e2cf3fbcf3..40f78f893d9 100644 --- a/public/images/pokemon/843.json +++ b/public/images/pokemon/843.json @@ -1,41 +1,648 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 42, - "h": 42 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 42, - "h": 40 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 42, - "h": 40 - }, - "frame": { - "x": 0, - "y": 0, - "w": 42, - "h": 40 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:6cf06b0cca3e0b39015f8d01dea60f4d:45ff2285e9a9e0b0ab468a91f0519ed8:1ad579f7e215608104284deec571c282$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 0, "y": 83, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 44, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 193, "y": 0, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 99, "y": 0, "w": 48, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 48, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 0, "w": 50, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 50, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 50, "y": 0, "w": 49, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 49, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 147, "y": 0, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 46, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 239, "y": 0, "w": 44, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 44, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 99, "y": 42, "w": 42, "h": 44 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 44 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 46, "y": 43, "w": 42, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 141, "y": 43, "w": 42, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 238, "y": 43, "w": 42, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 183, "y": 83, "w": 42, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 44, "y": 86, "w": 42, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 0, "y": 124, "w": 42, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 174, "y": 125, "w": 42, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 86, "y": 126, "w": 42, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 85, "y": 167, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "843.png", + "format": "I8", + "size": { "w": 298, "h": 207 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/843.png b/public/images/pokemon/843.png index 1206c17a175..6173aff379e 100644 Binary files a/public/images/pokemon/843.png and b/public/images/pokemon/843.png differ diff --git a/public/images/pokemon/844.json b/public/images/pokemon/844.json index bd0259cbca6..2421d17e37b 100644 --- a/public/images/pokemon/844.json +++ b/public/images/pokemon/844.json @@ -1,41 +1,1593 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 85, - "h": 85 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 85, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 85, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 85, - "h": 54 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:981f5a37bc3702df89db4a5ac6c537ee:1d3142106244c076d570680194ab4418:791c04bd94958ea464eaa02b1a2ef466$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0020.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0039.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0076.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0094.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0112.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0113.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0114.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0115.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0116.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0117.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0118.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0119.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0120.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0121.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0122.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0123.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0124.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0125.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0126.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0127.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0128.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0129.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0130.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0131.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0132.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0133.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0134.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0135.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0136.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0137.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0138.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0139.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0140.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0141.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0142.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0143.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0144.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0145.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0146.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0147.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0148.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0149.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 350 + }, + { + "filename": "0150.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0151.png", + "frame": { "x": 164, "y": 163, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 6, "w": 82, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0152.png", + "frame": { "x": 164, "y": 163, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 6, "w": 82, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0153.png", + "frame": { "x": 407, "y": 216, "w": 80, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 80, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0154.png", + "frame": { "x": 407, "y": 216, "w": 80, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 80, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0155.png", + "frame": { "x": 164, "y": 217, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 6, "w": 79, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0156.png", + "frame": { "x": 164, "y": 217, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 6, "w": 79, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0157.png", + "frame": { "x": 80, "y": 218, "w": 78, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 6, "w": 78, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0158.png", + "frame": { "x": 80, "y": 218, "w": 78, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 6, "w": 78, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0159.png", + "frame": { "x": 243, "y": 270, "w": 76, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 6, "w": 76, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 150 + }, + { + "filename": "0160.png", + "frame": { "x": 243, "y": 270, "w": 76, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 6, "w": 76, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0161.png", + "frame": { "x": 158, "y": 271, "w": 74, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 74, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0162.png", + "frame": { "x": 158, "y": 271, "w": 74, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 74, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0163.png", + "frame": { "x": 319, "y": 271, "w": 73, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 6, "w": 73, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 400 + }, + { + "filename": "0164.png", + "frame": { "x": 319, "y": 271, "w": 73, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 6, "w": 73, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0165.png", + "frame": { "x": 0, "y": 271, "w": 75, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 5, "w": 75, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0166.png", + "frame": { "x": 407, "y": 270, "w": 76, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 76, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0167.png", + "frame": { "x": 328, "y": 216, "w": 79, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 79, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0168.png", + "frame": { "x": 0, "y": 217, "w": 80, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 80, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0169.png", + "frame": { "x": 83, "y": 163, "w": 81, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 1, "w": 81, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0170.png", + "frame": { "x": 246, "y": 216, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 82, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0171.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0172.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0173.png", + "frame": { "x": 170, "y": 109, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0174.png", + "frame": { "x": 170, "y": 109, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0175.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 300 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "844.png", + "format": "I8", + "size": { "w": 515, "h": 325 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/844.png b/public/images/pokemon/844.png index 42c4a0826a0..c7a691eaff5 100644 Binary files a/public/images/pokemon/844.png and b/public/images/pokemon/844.png differ diff --git a/public/images/pokemon/902-female.json b/public/images/pokemon/902-female.json index b63745ba546..aec0bdbcc05 100644 --- a/public/images/pokemon/902-female.json +++ b/public/images/pokemon/902-female.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 86, - "h": 86 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 86, - "h": 51 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 86, - "h": 51 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:d5f9c953dd3917273fb1e7762f1a8b60:b7be8aa616947b7033ac17c5e596c131:16072dc598107c41afadd9df4d7c27da$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 0, "y": 293, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 253, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 18, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 438, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 17, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 181, "y": 289, "w": 88, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 14, "w": 88, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 332, "y": 343, "w": 81, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 11, "w": 81, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 86, "y": 308, "w": 84, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 8, "w": 84, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 357, "y": 290, "w": 84, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 7, "w": 84, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 417, "y": 236, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 0, "y": 76, "w": 87, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 2, "w": 87, "h": 60 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 340, "y": 0, "w": 85, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 0, "w": 85, "h": 68 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 87, "y": 0, "w": 85, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 85, "h": 77 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 262, "y": 0, "w": 78, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 78, "h": 76 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 178, "y": 133, "w": 71, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 8, "w": 71, "h": 71 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 518, "y": 0, "w": 80, "h": 72 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 7, "w": 80, "h": 72 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 0, "w": 87, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 87, "h": 76 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 598, "y": 0, "w": 80, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 8, "w": 80, "h": 71 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 249, "y": 134, "w": 74, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 13, "w": 74, "h": 67 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 425, "y": 62, "w": 82, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 10, "w": 82, "h": 69 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 172, "y": 0, "w": 90, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 11, "w": 90, "h": 68 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 172, "y": 68, "w": 84, "h": 65 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 14, "w": 84, "h": 65 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 0, "y": 136, "w": 77, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 14, "w": 77, "h": 64 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 598, "y": 71, "w": 81, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 16, "w": 81, "h": 61 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 507, "y": 72, "w": 88, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 15, "w": 88, "h": 61 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 425, "y": 0, "w": 93, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 14, "w": 93, "h": 62 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 256, "y": 76, "w": 91, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 347, "y": 131, "w": 91, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 87, "y": 133, "w": 91, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 18, "w": 91, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 532, "y": 185, "w": 89, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 19, "w": 89, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 269, "y": 289, "w": 88, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902-female.png", + "format": "I8", + "size": { "w": 679, "h": 399 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/902-female.png b/public/images/pokemon/902-female.png index c4075a32fdf..6d3684bb6ee 100644 Binary files a/public/images/pokemon/902-female.png and b/public/images/pokemon/902-female.png differ diff --git a/public/images/pokemon/902.json b/public/images/pokemon/902.json index 7e8b3222655..2e788b240c8 100644 --- a/public/images/pokemon/902.json +++ b/public/images/pokemon/902.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 86, - "h": 86 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 86, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 54 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:afd87be702528254edaf76f41ea810af:3eac0c3956848ec21cd8468f625096e4:7d196ae78ad956c5eb9131e145b5922f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 424, "y": 299, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 503, "y": 194, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 18, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 351, "y": 136, "w": 97, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 17, "w": 97, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 591, "y": 251, "w": 88, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 14, "w": 88, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 167, "y": 358, "w": 81, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 11, "w": 81, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 338, "y": 352, "w": 84, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 8, "w": 84, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 83, "y": 313, "w": 84, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 7, "w": 84, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 338, "y": 298, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 586, "y": 134, "w": 87, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 2, "w": 87, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 513, "y": 0, "w": 85, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 0, "w": 85, "h": 70 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 87, "y": 0, "w": 85, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 85, "h": 80 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 262, "y": 0, "w": 78, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 78, "h": 79 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 91, "y": 80, "w": 71, "h": 74 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 8, "w": 71, "h": 74 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 340, "y": 0, "w": 80, "h": 75 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 7, "w": 80, "h": 75 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 0, "w": 87, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 87, "h": 79 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 598, "y": 0, "w": 80, "h": 73 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 8, "w": 80, "h": 73 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 0, "y": 138, "w": 74, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 13, "w": 74, "h": 69 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 420, "y": 64, "w": 82, "h": 72 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 10, "w": 82, "h": 72 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 172, "y": 0, "w": 90, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 11, "w": 90, "h": 71 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 502, "y": 70, "w": 84, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 14, "w": 84, "h": 68 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 243, "y": 138, "w": 77, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 14, "w": 77, "h": 66 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 162, "y": 135, "w": 81, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 16, "w": 81, "h": 64 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 172, "y": 71, "w": 88, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 15, "w": 88, "h": 64 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 420, "y": 0, "w": 93, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 14, "w": 93, "h": 64 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 586, "y": 73, "w": 91, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 260, "y": 79, "w": 91, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 0, "y": 80, "w": 91, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 18, "w": 91, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 320, "y": 189, "w": 89, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 19, "w": 89, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 409, "y": 243, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 90, "y": 259, "w": 88, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902.png", + "format": "I8", + "size": { "w": 679, "h": 415 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/902.png b/public/images/pokemon/902.png index 2191b2033e8..14d1bac02bd 100644 Binary files a/public/images/pokemon/902.png and b/public/images/pokemon/902.png differ diff --git a/public/images/pokemon/back/550-white-striped.json b/public/images/pokemon/back/550-white-striped.json index fe8d465ace0..31b34514ddf 100644 --- a/public/images/pokemon/back/550-white-striped.json +++ b/public/images/pokemon/back/550-white-striped.json @@ -1,41 +1,810 @@ -{ - "textures": [ - { - "image": "550-white-striped.png", - "format": "RGBA8888", - "size": { - "w": 39, - "h": 39 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 39, - "h": 37 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 39, - "h": 37 - }, - "frame": { - "x": 0, - "y": 0, - "w": 39, - "h": 37 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2f19686f16a9b97b77c4465d2bc54843:791ceedc6ff57dfd655e793319b3601d:f97864a794849ea9866466461e0e9a7f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 159, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 185, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 36, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 104, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 137, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 70, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 253, "y": 37, "w": 35, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 4, "w": 35, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 0, "y": 185, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 221, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 197, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 120, "y": 111, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 249, "y": 74, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 84, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 185, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 48, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 0, "w": 48, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 48, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 94, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 140, "y": 0, "w": 45, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 45, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 229, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 0, "y": 37, "w": 43, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 43, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 42, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 208, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 159, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 185, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 36, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 104, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 137, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 70, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 253, "y": 37, "w": 35, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 4, "w": 35, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 185, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 221, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 0, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 197, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 120, "y": 111, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 249, "y": 74, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 84, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 185, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 48, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 48, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 48, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 94, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 140, "y": 0, "w": 45, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 45, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 229, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 0, "y": 37, "w": 43, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 43, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 42, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 208, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 159, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 185, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 36, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 104, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 137, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 70, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 253, "y": 37, "w": 35, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 4, "w": 35, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 185, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 221, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 0, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 197, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 120, "y": 111, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 249, "y": 74, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 84, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 185, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 48, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 0, "y": 0, "w": 48, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 48, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 94, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 140, "y": 0, "w": 45, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 45, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 229, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 0, "y": 37, "w": 43, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 43, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 42, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 208, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 235, "y": 111, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 37, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 211, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 74, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 169, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 111, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 0, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 127, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 0, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 0, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 0, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 148, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 0, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 40, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 0, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 85, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 43, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 126, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 167, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "550-white-striped.png", + "format": "I8", + "size": { "w": 288, "h": 222 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/550-white-striped.png b/public/images/pokemon/back/550-white-striped.png index e3900e82ea2..6a597a631cd 100644 Binary files a/public/images/pokemon/back/550-white-striped.png and b/public/images/pokemon/back/550-white-striped.png differ diff --git a/public/images/pokemon/back/769.json b/public/images/pokemon/back/769.json index 379e649c963..f786bd9e384 100644 --- a/public/images/pokemon/back/769.json +++ b/public/images/pokemon/back/769.json @@ -1,41 +1,423 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 54, - "h": 54 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 54, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2f6af04d97f063cb51311504c4e64bfd:9d77bbfdfee3bc3c4f7c0bca665f6e7b:ba2e5a01352778ce94d84746368de8fc$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 330 + }, + { + "filename": "0012.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 330 + }, + { + "filename": "0022.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 162, "y": 0, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 213, "y": 93, "w": 62, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 10, "w": 62, "h": 39 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 73, "y": 94, "w": 71, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 25, "w": 71, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 0, "y": 94, "w": 73, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 26, "w": 73, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 770 + }, + { + "filename": "0027.png", + "frame": { "x": 0, "y": 94, "w": 73, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 26, "w": 73, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 73, "y": 94, "w": 71, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 25, "w": 71, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 213, "y": 93, "w": 62, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 10, "w": 62, "h": 39 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 162, "y": 0, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 330 + }, + { + "filename": "0037.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 54, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 0, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 53, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 159, "y": 93, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 159, "y": 93, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 108, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 0, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 106, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "769.png", + "format": "I8", + "size": { "w": 275, "h": 139 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/769.png b/public/images/pokemon/back/769.png index 515dff6c64c..c13aa19fba2 100644 Binary files a/public/images/pokemon/back/769.png and b/public/images/pokemon/back/769.png differ diff --git a/public/images/pokemon/back/770.json b/public/images/pokemon/back/770.json index d52eb0dfd15..d67a4c4a08e 100644 --- a/public/images/pokemon/back/770.json +++ b/public/images/pokemon/back/770.json @@ -1,41 +1,594 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 76, - "h": 76 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 76, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - }, - "frame": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:bbb23a7eb49b6d6a766d54261d534264:4aa6478267df0d96fef4591110505dc1:9a5e6a86eb0697afa19bc4a32f422cc1$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0012.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 160, "y": 55, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 84, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0022.png", + "frame": { "x": 250, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 412, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 0, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 312, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 78, "y": 108, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0027.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0037.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0046.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0047.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0048.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0049.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0050.png", + "frame": { "x": 156, "y": 109, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0051.png", + "frame": { "x": 322, "y": 56, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0052.png", + "frame": { "x": 464, "y": 113, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 7, "w": 83, "h": 50 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0053.png", + "frame": { "x": 76, "y": 165, "w": 90, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 14, "w": 90, "h": 43 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0054.png", + "frame": { "x": 256, "y": 168, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0055.png", + "frame": { "x": 352, "y": 168, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0056.png", + "frame": { "x": 256, "y": 205, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0057.png", + "frame": { "x": 352, "y": 205, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0058.png", + "frame": { "x": 256, "y": 205, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0059.png", + "frame": { "x": 352, "y": 168, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0060.png", + "frame": { "x": 166, "y": 166, "w": 90, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 14, "w": 90, "h": 43 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0061.png", + "frame": { "x": 464, "y": 163, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 7, "w": 83, "h": 50 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0062.png", + "frame": { "x": 402, "y": 56, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0063.png", + "frame": { "x": 234, "y": 110, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0064.png", + "frame": { "x": 388, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "770.png", + "format": "I8", + "size": { "w": 570, "h": 242 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/770.png b/public/images/pokemon/back/770.png index 15a5c78d4fc..5e0008dfb41 100644 Binary files a/public/images/pokemon/back/770.png and b/public/images/pokemon/back/770.png differ diff --git a/public/images/pokemon/back/843.json b/public/images/pokemon/back/843.json index c2ad6db0510..3ce1db1c3d0 100644 --- a/public/images/pokemon/back/843.json +++ b/public/images/pokemon/back/843.json @@ -1,41 +1,648 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 45, - "h": 45 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 45, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 41 - }, - "frame": { - "x": 0, - "y": 0, - "w": 45, - "h": 41 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:4d81155c7f88503721ed6b93d98b0c79:5428dc86e244ab063a4aba0c3835641f:1ad579f7e215608104284deec571c282$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 57, "y": 40, "w": 48, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 48, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 225, "y": 0, "w": 51, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 51, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 171, "y": 0, "w": 54, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 54, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 0, "w": 57, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 57, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 57, "y": 0, "w": 59, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 59, "h": 40 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 116, "y": 0, "w": 55, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 55, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 276, "y": 0, "w": 52, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 52, "h": 40 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 276, "y": 40, "w": 49, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 49, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 105, "y": 41, "w": 49, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 49, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 247, "y": 81, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 295, "y": 81, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 46, "y": 82, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 94, "y": 82, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 234, "y": 122, "w": 47, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 47, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 281, "y": 122, "w": 47, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 47, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 91, "y": 123, "w": 46, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 46, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 137, "y": 126, "w": 46, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 46, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "843.png", + "format": "I8", + "size": { "w": 343, "h": 206 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/843.png b/public/images/pokemon/back/843.png index b844a1be030..3a8c1f77822 100644 Binary files a/public/images/pokemon/back/843.png and b/public/images/pokemon/back/843.png differ diff --git a/public/images/pokemon/back/844.json b/public/images/pokemon/back/844.json index 5039d5695df..cb865a1c931 100644 --- a/public/images/pokemon/back/844.json +++ b/public/images/pokemon/back/844.json @@ -1,41 +1,1584 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 80, - "h": 80 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:0d568ea39ab25fe6b2e779f2d845a354:af6e47ec0a56a08cc144a4c6a0dec86d:791c04bd94958ea464eaa02b1a2ef466$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0020.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0039.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0057.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0076.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0094.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0112.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0113.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0114.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0115.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0116.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0117.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0118.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0119.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0120.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0121.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0122.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0123.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0124.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0125.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0126.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0127.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0128.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0129.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0130.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0131.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0132.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0133.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0134.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0135.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0136.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0137.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0138.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0139.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0140.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0141.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0142.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0143.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0144.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0145.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0146.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0147.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0148.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0149.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 350 + }, + { + "filename": "0150.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0151.png", + "frame": { "x": 407, "y": 151, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 79, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 100 + }, + { + "filename": "0152.png", + "frame": { "x": 407, "y": 151, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 79, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0153.png", + "frame": { "x": 161, "y": 200, "w": 77, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 77, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0154.png", + "frame": { "x": 161, "y": 200, "w": 77, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 77, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0155.png", + "frame": { "x": 307, "y": 200, "w": 75, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 75, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0156.png", + "frame": { "x": 307, "y": 200, "w": 75, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 75, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0157.png", + "frame": { "x": 382, "y": 201, "w": 74, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 74, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0158.png", + "frame": { "x": 382, "y": 201, "w": 74, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 74, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0159.png", + "frame": { "x": 143, "y": 250, "w": 72, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 72, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 150 + }, + { + "filename": "0160.png", + "frame": { "x": 143, "y": 250, "w": 72, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 72, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0161.png", + "frame": { "x": 376, "y": 251, "w": 70, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 70, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0162.png", + "frame": { "x": 376, "y": 251, "w": 70, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 70, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0163.png", + "frame": { "x": 69, "y": 255, "w": 69, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 69, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 400 + }, + { + "filename": "0164.png", + "frame": { "x": 69, "y": 255, "w": 69, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 69, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0165.png", + "frame": { "x": 307, "y": 250, "w": 69, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 5, "w": 69, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0166.png", + "frame": { "x": 0, "y": 205, "w": 69, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 69, "h": 53 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0167.png", + "frame": { "x": 74, "y": 201, "w": 69, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 69, "h": 54 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0168.png", + "frame": { "x": 238, "y": 200, "w": 69, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 69, "h": 55 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0169.png", + "frame": { "x": 0, "y": 152, "w": 74, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 74, "h": 53 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0170.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0171.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0172.png", + "frame": { "x": 0, "y": 102, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0173.png", + "frame": { "x": 0, "y": 102, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0174.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 300 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "844.png", + "format": "I8", + "size": { "w": 494, "h": 305 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/844.png b/public/images/pokemon/back/844.png index 3fbea2b077e..1fe88daff9f 100644 Binary files a/public/images/pokemon/back/844.png and b/public/images/pokemon/back/844.png differ diff --git a/public/images/pokemon/back/902-female.json b/public/images/pokemon/back/902-female.json index bdad2905761..7b8355ef84d 100644 --- a/public/images/pokemon/back/902-female.json +++ b/public/images/pokemon/back/902-female.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 93, - "h": 93 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 93, - "h": 51 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - }, - "frame": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c5ce25f975872380890ee2a247f0ecec:45d20476fb7616d3cd411ed61ea5beaf:16072dc598107c41afadd9df4d7c27da$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 378, "y": 113, "w": 100, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 16, "w": 100, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 187, "y": 60, "w": 105, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 15, "w": 105, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 594, "y": 164, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 12, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 285, "y": 270, "w": 88, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 9, "w": 88, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 92, "y": 266, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 90, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 0, "y": 224, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 290, "y": 219, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 98, "y": 162, "w": 95, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 95, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 284, "y": 0, "w": 94, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 94, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 0, "y": 0, "w": 92, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 0, "w": 92, "h": 69 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 378, "y": 0, "w": 84, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 2, "w": 84, "h": 67 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 652, "y": 0, "w": 77, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 35, "y": 9, "w": 77, "h": 61 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 292, "y": 60, "w": 86, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 8, "w": 86, "h": 62 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 92, "y": 0, "w": 95, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 4, "w": 95, "h": 66 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 564, "y": 0, "w": 88, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 9, "w": 88, "h": 61 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 475, "y": 264, "w": 82, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 38, "y": 15, "w": 82, "h": 56 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 462, "y": 53, "w": 89, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 32, "y": 11, "w": 89, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 187, "y": 0, "w": 97, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 12, "w": 97, "h": 59 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 304, "y": 164, "w": 91, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 16, "w": 91, "h": 55 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 650, "y": 112, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 37, "y": 17, "w": 83, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 646, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 18, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 0, "y": 173, "w": 96, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 17, "w": 96, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 462, "y": 0, "w": 102, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 16, "w": 102, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 203, "y": 122, "w": 101, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 19, "w": 101, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 395, "y": 164, "w": 100, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 100, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 495, "y": 164, "w": 99, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 99, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 395, "y": 214, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 492, "y": 214, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 589, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902-female.png", + "format": "I8", + "size": { "w": 735, "h": 366 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/902-female.png b/public/images/pokemon/back/902-female.png index cf712db1bb1..461b0f8eb5b 100644 Binary files a/public/images/pokemon/back/902-female.png and b/public/images/pokemon/back/902-female.png differ diff --git a/public/images/pokemon/back/902.json b/public/images/pokemon/back/902.json index 93163c5901f..86e3aa58a6b 100644 --- a/public/images/pokemon/back/902.json +++ b/public/images/pokemon/back/902.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 93, - "h": 93 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 93, - "h": 51 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - }, - "frame": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:7dcfb504a17b21b9077b0e9ed894638f:307359f55cd4e00cfa07600a8711515b:7d196ae78ad956c5eb9131e145b5922f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 200, "y": 121, "w": 100, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 16, "w": 100, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 0, "y": 70, "w": 105, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 15, "w": 105, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 300, "y": 173, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 12, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 541, "y": 322, "w": 88, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 9, "w": 88, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 362, "y": 321, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 90, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 276, "y": 68, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 0, "y": 225, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 401, "y": 166, "w": 95, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 95, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 368, "y": 0, "w": 94, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 94, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 0, "y": 0, "w": 92, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 0, "w": 92, "h": 70 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 284, "y": 0, "w": 84, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 2, "w": 84, "h": 68 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 550, "y": 0, "w": 77, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 35, "y": 9, "w": 77, "h": 62 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 368, "y": 60, "w": 86, "h": 63 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 8, "w": 86, "h": 63 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 92, "y": 0, "w": 95, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 4, "w": 95, "h": 67 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 462, "y": 0, "w": 88, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 9, "w": 88, "h": 62 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 191, "y": 272, "w": 82, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 38, "y": 15, "w": 82, "h": 57 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 187, "y": 60, "w": 89, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 32, "y": 11, "w": 89, "h": 61 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 187, "y": 0, "w": 97, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 12, "w": 97, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 496, "y": 166, "w": 91, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 16, "w": 91, "h": 55 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 89, "y": 325, "w": 83, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 37, "y": 17, "w": 83, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 0, "y": 276, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 18, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 0, "y": 173, "w": 96, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 17, "w": 96, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 454, "y": 62, "w": 102, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 16, "w": 102, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 300, "y": 123, "w": 101, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 19, "w": 101, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 200, "y": 172, "w": 100, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 100, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 96, "y": 173, "w": 99, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 99, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 494, "y": 221, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 195, "y": 222, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 292, "y": 224, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902.png", + "format": "I8", + "size": { "w": 629, "h": 379 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/902.png b/public/images/pokemon/back/902.png index bd39d3d358f..81e467ba8c6 100644 Binary files a/public/images/pokemon/back/902.png and b/public/images/pokemon/back/902.png differ diff --git a/public/images/pokemon/back/shiny/550-white-striped.json b/public/images/pokemon/back/shiny/550-white-striped.json index 55318e150ca..31b34514ddf 100644 --- a/public/images/pokemon/back/shiny/550-white-striped.json +++ b/public/images/pokemon/back/shiny/550-white-striped.json @@ -1,41 +1,810 @@ -{ - "textures": [ - { - "image": "550-white-striped.png", - "format": "RGBA8888", - "size": { - "w": 39, - "h": 39 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 39, - "h": 37 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 39, - "h": 37 - }, - "frame": { - "x": 0, - "y": 0, - "w": 39, - "h": 37 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:4db779392d12b8e76b7aa57abd1f74fc:e057c494c9088a5906ee1c1e70c16684:f97864a794849ea9866466461e0e9a7f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 159, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 185, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 36, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 104, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 137, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 70, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 253, "y": 37, "w": 35, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 4, "w": 35, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 0, "y": 185, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 221, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 197, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 120, "y": 111, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 249, "y": 74, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 84, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 185, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 48, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 0, "w": 48, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 48, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 94, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 140, "y": 0, "w": 45, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 45, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 229, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 0, "y": 37, "w": 43, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 43, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 42, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 208, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 159, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 185, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 36, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 104, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 137, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 70, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 253, "y": 37, "w": 35, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 4, "w": 35, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 185, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 221, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 0, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 197, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 120, "y": 111, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 249, "y": 74, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 84, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 185, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 48, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 48, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 48, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 94, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 140, "y": 0, "w": 45, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 45, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 229, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 0, "y": 37, "w": 43, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 43, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 42, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 208, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 159, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 185, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 36, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 104, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 137, "y": 185, "w": 33, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 33, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 70, "y": 185, "w": 34, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 34, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 253, "y": 37, "w": 35, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 4, "w": 35, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 185, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 221, "y": 148, "w": 36, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 36, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 0, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 197, "y": 111, "w": 38, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 38, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 120, "y": 111, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 249, "y": 74, "w": 39, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 39, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 84, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 185, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 48, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 0, "y": 0, "w": 48, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 48, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 94, "y": 0, "w": 46, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 46, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 140, "y": 0, "w": 45, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 45, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 229, "y": 0, "w": 44, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 44, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 0, "y": 37, "w": 43, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 43, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 42, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 208, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 80, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 235, "y": 111, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 74, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 37, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 211, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 74, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 169, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 111, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 0, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 127, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 0, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 0, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 0, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 148, "y": 148, "w": 37, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 0, "w": 37, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 40, "y": 111, "w": 40, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 0, "w": 40, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 85, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 43, "y": 37, "w": 42, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 42, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 126, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 167, "y": 74, "w": 41, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 41, "h": 37 }, + "sourceSize": { "w": 56, "h": 42 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "550-white-striped.png", + "format": "I8", + "size": { "w": 288, "h": 222 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/shiny/550-white-striped.png b/public/images/pokemon/back/shiny/550-white-striped.png index bf207678b3b..5505bad84a3 100644 Binary files a/public/images/pokemon/back/shiny/550-white-striped.png and b/public/images/pokemon/back/shiny/550-white-striped.png differ diff --git a/public/images/pokemon/back/shiny/769.json b/public/images/pokemon/back/shiny/769.json index 15ba07dd305..f786bd9e384 100644 --- a/public/images/pokemon/back/shiny/769.json +++ b/public/images/pokemon/back/shiny/769.json @@ -1,41 +1,423 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 54, - "h": 54 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 54, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:5b11631172a11bf407d37e79923fb804:8c939d90f16d785e49b25d082399edd3:ba2e5a01352778ce94d84746368de8fc$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 330 + }, + { + "filename": "0012.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 330 + }, + { + "filename": "0022.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 162, "y": 0, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 213, "y": 93, "w": 62, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 10, "w": 62, "h": 39 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 73, "y": 94, "w": 71, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 25, "w": 71, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 0, "y": 94, "w": 73, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 26, "w": 73, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 770 + }, + { + "filename": "0027.png", + "frame": { "x": 0, "y": 94, "w": 73, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 26, "w": 73, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 73, "y": 94, "w": 71, "h": 26 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 25, "w": 71, "h": 26 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 213, "y": 93, "w": 62, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 10, "w": 62, "h": 39 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 162, "y": 0, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 217, "y": 0, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 162, "y": 46, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 330 + }, + { + "filename": "0037.png", + "frame": { "x": 215, "y": 47, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 54, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 0, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 53, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 159, "y": 93, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 159, "y": 93, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 108, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 0, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 106, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 73, "h": 52 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "769.png", + "format": "I8", + "size": { "w": 275, "h": 139 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/shiny/769.png b/public/images/pokemon/back/shiny/769.png index 9456d8a5d2a..e12708648b0 100644 Binary files a/public/images/pokemon/back/shiny/769.png and b/public/images/pokemon/back/shiny/769.png differ diff --git a/public/images/pokemon/back/shiny/770.json b/public/images/pokemon/back/shiny/770.json index de5e829e988..d67a4c4a08e 100644 --- a/public/images/pokemon/back/shiny/770.json +++ b/public/images/pokemon/back/shiny/770.json @@ -1,41 +1,594 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 76, - "h": 76 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 76, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - }, - "frame": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:5047614193ea2d34b6c0d942027f7139:9bd2fcf2c80fe475fa8e7894edbebe6a:9a5e6a86eb0697afa19bc4a32f422cc1$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0012.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 160, "y": 55, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 84, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0022.png", + "frame": { "x": 250, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 412, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 0, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 312, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 78, "y": 108, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0027.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0037.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 482, "y": 57, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 242, "y": 55, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 78, "y": 54, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 82, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 0, "y": 0, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 84, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0046.png", + "frame": { "x": 168, "y": 0, "w": 82, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 82, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0047.png", + "frame": { "x": 332, "y": 0, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0048.png", + "frame": { "x": 492, "y": 0, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0049.png", + "frame": { "x": 0, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0050.png", + "frame": { "x": 156, "y": 109, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0051.png", + "frame": { "x": 322, "y": 56, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0052.png", + "frame": { "x": 464, "y": 113, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 7, "w": 83, "h": 50 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0053.png", + "frame": { "x": 76, "y": 165, "w": 90, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 14, "w": 90, "h": 43 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0054.png", + "frame": { "x": 256, "y": 168, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0055.png", + "frame": { "x": 352, "y": 168, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0056.png", + "frame": { "x": 256, "y": 205, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0057.png", + "frame": { "x": 352, "y": 205, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0058.png", + "frame": { "x": 256, "y": 205, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0059.png", + "frame": { "x": 352, "y": 168, "w": 96, "h": 37 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 20, "w": 96, "h": 37 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0060.png", + "frame": { "x": 166, "y": 166, "w": 90, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 14, "w": 90, "h": 43 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0061.png", + "frame": { "x": 464, "y": 163, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 7, "w": 83, "h": 50 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0062.png", + "frame": { "x": 402, "y": 56, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0063.png", + "frame": { "x": 234, "y": 110, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0064.png", + "frame": { "x": 388, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "770.png", + "format": "I8", + "size": { "w": 570, "h": 242 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/shiny/770.png b/public/images/pokemon/back/shiny/770.png index f1d6258ca58..116d7d29ea4 100644 Binary files a/public/images/pokemon/back/shiny/770.png and b/public/images/pokemon/back/shiny/770.png differ diff --git a/public/images/pokemon/back/shiny/843.json b/public/images/pokemon/back/shiny/843.json index ba4d298a104..3ce1db1c3d0 100644 --- a/public/images/pokemon/back/shiny/843.json +++ b/public/images/pokemon/back/shiny/843.json @@ -1,41 +1,648 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 45, - "h": 45 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 45, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 45, - "h": 41 - }, - "frame": { - "x": 0, - "y": 0, - "w": 45, - "h": 41 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:7280b11a32b2f1c742e8b6c61ac5ccf5:b69623fe0f8031f13c3e58cf12771a19:1ad579f7e215608104284deec571c282$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 127, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 228, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 273, "y": 163, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 45, "y": 165, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 44, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 46, "y": 123, "w": 45, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 45, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 142, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 200, "y": 42, "w": 47, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 47, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 154, "y": 41, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 188, "y": 84, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 0, "y": 42, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 43 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 0, "y": 85, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 46, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 91, "y": 164, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 183, "y": 126, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 45, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 57, "y": 40, "w": 48, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 48, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 225, "y": 0, "w": 51, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 51, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 171, "y": 0, "w": 54, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 54, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 0, "w": 57, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 57, "h": 42 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 57, "y": 0, "w": 59, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 59, "h": 40 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 116, "y": 0, "w": 55, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 55, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 276, "y": 0, "w": 52, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 52, "h": 40 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 276, "y": 40, "w": 49, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 49, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 105, "y": 41, "w": 49, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 49, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 247, "y": 81, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 295, "y": 81, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 46, "y": 82, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 94, "y": 82, "w": 48, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 48, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 234, "y": 122, "w": 47, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 47, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 281, "y": 122, "w": 47, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 47, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 91, "y": 123, "w": 46, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 46, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 137, "y": 126, "w": 46, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 46, "h": 41 }, + "sourceSize": { "w": 59, "h": 43 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "843.png", + "format": "I8", + "size": { "w": 343, "h": 206 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/shiny/843.png b/public/images/pokemon/back/shiny/843.png index 7afd1a3e11a..83a1291b237 100644 Binary files a/public/images/pokemon/back/shiny/843.png and b/public/images/pokemon/back/shiny/843.png differ diff --git a/public/images/pokemon/back/shiny/844.json b/public/images/pokemon/back/shiny/844.json index 980f37bffb5..cb865a1c931 100644 --- a/public/images/pokemon/back/shiny/844.json +++ b/public/images/pokemon/back/shiny/844.json @@ -1,41 +1,1584 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 80, - "h": 80 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:9957be291aca7db3d27e4953d7babf84:15a00446903fa475c7dd1aaf687132ad:791c04bd94958ea464eaa02b1a2ef466$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0020.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0039.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0057.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0076.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0094.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0112.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0113.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0114.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0115.png", + "frame": { "x": 413, "y": 0, "w": 81, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 81, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0116.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0117.png", + "frame": { "x": 0, "y": 0, "w": 82, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 82, "h": 52 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0118.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0119.png", + "frame": { "x": 82, "y": 0, "w": 82, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 82, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0120.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0121.png", + "frame": { "x": 246, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0122.png", + "frame": { "x": 328, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0123.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0124.png", + "frame": { "x": 82, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0125.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0126.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0127.png", + "frame": { "x": 0, "y": 52, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0128.png", + "frame": { "x": 164, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0129.png", + "frame": { "x": 164, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0130.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0131.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0132.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0133.png", + "frame": { "x": 246, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0134.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0135.png", + "frame": { "x": 247, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0136.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0137.png", + "frame": { "x": 328, "y": 100, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0138.png", + "frame": { "x": 410, "y": 51, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0139.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0140.png", + "frame": { "x": 82, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0141.png", + "frame": { "x": 330, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0142.png", + "frame": { "x": 164, "y": 0, "w": 83, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0143.png", + "frame": { "x": 164, "y": 50, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0144.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0145.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0146.png", + "frame": { "x": 245, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0147.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0148.png", + "frame": { "x": 326, "y": 150, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0149.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 350 + }, + { + "filename": "0150.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0151.png", + "frame": { "x": 407, "y": 151, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 79, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 100 + }, + { + "filename": "0152.png", + "frame": { "x": 407, "y": 151, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 79, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0153.png", + "frame": { "x": 161, "y": 200, "w": 77, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 77, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0154.png", + "frame": { "x": 161, "y": 200, "w": 77, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 77, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0155.png", + "frame": { "x": 307, "y": 200, "w": 75, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 75, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0156.png", + "frame": { "x": 307, "y": 200, "w": 75, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 75, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0157.png", + "frame": { "x": 382, "y": 201, "w": 74, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 74, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0158.png", + "frame": { "x": 382, "y": 201, "w": 74, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 74, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0159.png", + "frame": { "x": 143, "y": 250, "w": 72, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 72, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 150 + }, + { + "filename": "0160.png", + "frame": { "x": 143, "y": 250, "w": 72, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 72, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0161.png", + "frame": { "x": 376, "y": 251, "w": 70, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 70, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 250 + }, + { + "filename": "0162.png", + "frame": { "x": 376, "y": 251, "w": 70, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 70, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0163.png", + "frame": { "x": 69, "y": 255, "w": 69, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 69, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 400 + }, + { + "filename": "0164.png", + "frame": { "x": 69, "y": 255, "w": 69, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 69, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0165.png", + "frame": { "x": 307, "y": 250, "w": 69, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 5, "w": 69, "h": 51 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0166.png", + "frame": { "x": 0, "y": 205, "w": 69, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 69, "h": 53 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0167.png", + "frame": { "x": 74, "y": 201, "w": 69, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 69, "h": 54 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0168.png", + "frame": { "x": 238, "y": 200, "w": 69, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 69, "h": 55 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0169.png", + "frame": { "x": 0, "y": 152, "w": 74, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 74, "h": 53 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0170.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0171.png", + "frame": { "x": 410, "y": 101, "w": 82, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 82, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0172.png", + "frame": { "x": 0, "y": 102, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0173.png", + "frame": { "x": 0, "y": 102, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 81, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 50 + }, + { + "filename": "0174.png", + "frame": { "x": 81, "y": 151, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 80, "h": 50 }, + "sourceSize": { "w": 84, "h": 56 }, + "duration": 300 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "844.png", + "format": "I8", + "size": { "w": 494, "h": 305 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/shiny/844.png b/public/images/pokemon/back/shiny/844.png index ec989e1b39c..5865c85812e 100644 Binary files a/public/images/pokemon/back/shiny/844.png and b/public/images/pokemon/back/shiny/844.png differ diff --git a/public/images/pokemon/back/shiny/902-female.json b/public/images/pokemon/back/shiny/902-female.json index e992404f37c..7b8355ef84d 100644 --- a/public/images/pokemon/back/shiny/902-female.json +++ b/public/images/pokemon/back/shiny/902-female.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 93, - "h": 93 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 93, - "h": 51 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - }, - "frame": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:9b7366ec94c9143ff1591f296b453b43:4b1bcaf81ee72fa92aaa6604f851862c:16072dc598107c41afadd9df4d7c27da$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 557, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 373, "y": 315, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 655, "y": 61, "w": 79, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 21, "w": 79, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 85, "y": 317, "w": 81, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 49 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 0, "y": 275, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 182, "y": 274, "w": 87, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 19, "y": 27, "w": 87, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 384, "y": 264, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 96, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 0, "y": 121, "w": 98, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 27, "w": 98, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 0, "y": 69, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 551, "y": 61, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 101, "y": 111, "w": 102, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 23, "w": 102, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 551, "y": 112, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 193, "y": 172, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 191, "y": 223, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 378, "y": 113, "w": 100, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 16, "w": 100, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 187, "y": 60, "w": 105, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 15, "w": 105, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 594, "y": 164, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 12, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 285, "y": 270, "w": 88, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 9, "w": 88, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 92, "y": 266, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 90, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 0, "y": 224, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 290, "y": 219, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 98, "y": 162, "w": 95, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 95, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 284, "y": 0, "w": 94, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 94, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 0, "y": 0, "w": 92, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 0, "w": 92, "h": 69 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 378, "y": 0, "w": 84, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 2, "w": 84, "h": 67 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 652, "y": 0, "w": 77, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 35, "y": 9, "w": 77, "h": 61 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 292, "y": 60, "w": 86, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 8, "w": 86, "h": 62 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 92, "y": 0, "w": 95, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 4, "w": 95, "h": 66 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 564, "y": 0, "w": 88, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 9, "w": 88, "h": 61 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 475, "y": 264, "w": 82, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 38, "y": 15, "w": 82, "h": 56 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 462, "y": 53, "w": 89, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 32, "y": 11, "w": 89, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 187, "y": 0, "w": 97, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 12, "w": 97, "h": 59 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 304, "y": 164, "w": 91, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 16, "w": 91, "h": 55 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 650, "y": 112, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 37, "y": 17, "w": 83, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 646, "y": 266, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 18, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 0, "y": 173, "w": 96, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 17, "w": 96, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 462, "y": 0, "w": 102, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 16, "w": 102, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 203, "y": 122, "w": 101, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 19, "w": 101, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 395, "y": 164, "w": 100, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 100, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 495, "y": 164, "w": 99, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 99, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 395, "y": 214, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 492, "y": 214, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 589, "y": 215, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902-female.png", + "format": "I8", + "size": { "w": 735, "h": 366 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/shiny/902-female.png b/public/images/pokemon/back/shiny/902-female.png index fd7cb37f63d..6c849fa949f 100644 Binary files a/public/images/pokemon/back/shiny/902-female.png and b/public/images/pokemon/back/shiny/902-female.png differ diff --git a/public/images/pokemon/back/shiny/902.json b/public/images/pokemon/back/shiny/902.json index d44160577d0..86e3aa58a6b 100644 --- a/public/images/pokemon/back/shiny/902.json +++ b/public/images/pokemon/back/shiny/902.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 93, - "h": 93 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 93, - "h": 51 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - }, - "frame": { - "x": 0, - "y": 0, - "w": 93, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:880c07ab105843316070670a0d6b3f8f:4073b95e414eb2d7430f1c59ed4c4cb7:7d196ae78ad956c5eb9131e145b5922f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 452, "y": 322, "w": 89, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 17, "w": 89, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 0, "y": 328, "w": 84, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 19, "w": 84, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 556, "y": 62, "w": 73, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 21, "w": 73, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 105, "y": 67, "w": 81, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 23, "w": 81, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 273, "y": 327, "w": 85, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 25, "w": 85, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 172, "y": 329, "w": 80, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 80, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 94, "y": 274, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 96, "y": 223, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 29, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 273, "y": 275, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 27, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 0, "y": 121, "w": 101, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 101, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 454, "y": 115, "w": 104, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 25, "w": 104, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 481, "y": 271, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 23, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 101, "y": 121, "w": 99, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 20, "w": 99, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 397, "y": 219, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 19, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 387, "y": 270, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 200, "y": 121, "w": 100, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 16, "w": 100, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 0, "y": 70, "w": 105, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 15, "w": 105, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 300, "y": 173, "w": 97, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 12, "w": 97, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 541, "y": 322, "w": 88, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 9, "w": 88, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 362, "y": 321, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 90, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 276, "y": 68, "w": 92, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 92, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 0, "y": 225, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 94, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 401, "y": 166, "w": 95, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 95, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 368, "y": 0, "w": 94, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 1, "w": 94, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 0, "y": 0, "w": 92, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 0, "w": 92, "h": 70 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 284, "y": 0, "w": 84, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 2, "w": 84, "h": 68 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 550, "y": 0, "w": 77, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 35, "y": 9, "w": 77, "h": 62 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 368, "y": 60, "w": 86, "h": 63 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 8, "w": 86, "h": 63 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 92, "y": 0, "w": 95, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 4, "w": 95, "h": 67 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 462, "y": 0, "w": 88, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 9, "w": 88, "h": 62 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 191, "y": 272, "w": 82, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 38, "y": 15, "w": 82, "h": 57 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 187, "y": 60, "w": 89, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 32, "y": 11, "w": 89, "h": 61 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 187, "y": 0, "w": 97, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 12, "w": 97, "h": 60 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 496, "y": 166, "w": 91, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 16, "w": 91, "h": 55 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 89, "y": 325, "w": 83, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 37, "y": 17, "w": 83, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 0, "y": 276, "w": 89, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 30, "y": 18, "w": 89, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 0, "y": 173, "w": 96, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 17, "w": 96, "h": 52 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 454, "y": 62, "w": 102, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 16, "w": 102, "h": 53 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 300, "y": 123, "w": 101, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 19, "w": 101, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 200, "y": 172, "w": 100, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 100, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 96, "y": 173, "w": 99, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 99, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 494, "y": 221, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 195, "y": 222, "w": 97, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 18, "w": 97, "h": 50 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 292, "y": 224, "w": 95, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 17, "w": 95, "h": 51 }, + "sourceSize": { "w": 122, "h": 80 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902.png", + "format": "I8", + "size": { "w": 629, "h": 379 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/back/shiny/902.png b/public/images/pokemon/back/shiny/902.png index 0e624cf367a..e6fb00524dd 100644 Binary files a/public/images/pokemon/back/shiny/902.png and b/public/images/pokemon/back/shiny/902.png differ diff --git a/public/images/pokemon/exp/769.json b/public/images/pokemon/exp/769.json deleted file mode 100644 index 7fd6b616151..00000000000 --- a/public/images/pokemon/exp/769.json +++ /dev/null @@ -1,965 +0,0 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 222, - "h": 222 - }, - "scale": 1, - "frames": [ - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 61, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 61, - "h": 46 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 61, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 61, - "h": 46 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 61, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 61, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 94, - "w": 56, - "h": 48 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 142, - "w": 56, - "h": 48 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 56, - "h": 48 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 56, - "h": 48 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 56, - "h": 48 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 65, - "h": 33 - }, - "frame": { - "x": 56, - "y": 144, - "w": 65, - "h": 33 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 65, - "h": 33 - }, - "frame": { - "x": 56, - "y": 144, - "w": 65, - "h": 33 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 121, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 121, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 167, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 167, - "y": 96, - "w": 55, - "h": 48 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:417ae469c35cea609c584c0e7ca094eb:6458f627018b9ddb6f2fbc2096c1b150:ba2e5a01352778ce94d84746368de8fc$" - } -} diff --git a/public/images/pokemon/exp/769.png b/public/images/pokemon/exp/769.png deleted file mode 100644 index 5e41fea7682..00000000000 Binary files a/public/images/pokemon/exp/769.png and /dev/null differ diff --git a/public/images/pokemon/exp/770.json b/public/images/pokemon/exp/770.json deleted file mode 100644 index 1b68b54db41..00000000000 --- a/public/images/pokemon/exp/770.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 375, - "h": 375 - }, - "scale": 1, - "frames": [ - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 55, - "w": 87, - "h": 55 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 0, - "y": 110, - "w": 85, - "h": 56 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 0, - "y": 166, - "w": 85, - "h": 55 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 278, - "w": 82, - "h": 57 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 3, - "w": 82, - "h": 54 - }, - "frame": { - "x": 87, - "y": 56, - "w": 82, - "h": 54 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 224, - "w": 80, - "h": 57 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 281, - "w": 80, - "h": 57 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 0, - "y": 338, - "w": 96, - "h": 37 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 96, - "y": 338, - "w": 96, - "h": 37 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 96, - "y": 338, - "w": 96, - "h": 37 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 9, - "w": 85, - "h": 48 - }, - "frame": { - "x": 172, - "y": 55, - "w": 85, - "h": 48 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 9, - "w": 85, - "h": 48 - }, - "frame": { - "x": 257, - "y": 56, - "w": 85, - "h": 48 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 3, - "w": 82, - "h": 54 - }, - "frame": { - "x": 169, - "y": 103, - "w": 82, - "h": 54 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 165, - "y": 157, - "w": 80, - "h": 57 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 251, - "y": 104, - "w": 80, - "h": 57 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 165, - "y": 214, - "w": 78, - "h": 57 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 162, - "y": 271, - "w": 78, - "h": 57 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 2, - "y": 18, - "w": 92, - "h": 39 - }, - "frame": { - "x": 243, - "y": 218, - "w": 92, - "h": 39 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 243, - "y": 257, - "w": 96, - "h": 37 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 243, - "y": 257, - "w": 96, - "h": 37 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 240, - "y": 294, - "w": 96, - "h": 37 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 2, - "y": 18, - "w": 92, - "h": 39 - }, - "frame": { - "x": 192, - "y": 331, - "w": 92, - "h": 39 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ce33d806b6d3aeb64a87ace5887286f6:bf1c87696fd9940bcd542fd3d1696df1:9a5e6a86eb0697afa19bc4a32f422cc1$" - } -} diff --git a/public/images/pokemon/exp/770.png b/public/images/pokemon/exp/770.png deleted file mode 100644 index a5e91507aa7..00000000000 Binary files a/public/images/pokemon/exp/770.png and /dev/null differ diff --git a/public/images/pokemon/exp/843.json b/public/images/pokemon/exp/843.json deleted file mode 100644 index 06456db6386..00000000000 --- a/public/images/pokemon/exp/843.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 159, - "h": 159 - }, - "scale": 1, - "frames": [ - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 41 - }, - "frame": { - "x": 0, - "y": 0, - "w": 47, - "h": 41 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 40 - }, - "frame": { - "x": 47, - "y": 0, - "w": 48, - "h": 40 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 40 - }, - "frame": { - "x": 95, - "y": 0, - "w": 48, - "h": 40 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 41 - }, - "frame": { - "x": 0, - "y": 41, - "w": 47, - "h": 41 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 46, - "h": 41 - }, - "frame": { - "x": 47, - "y": 40, - "w": 46, - "h": 41 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 39 - }, - "frame": { - "x": 93, - "y": 40, - "w": 48, - "h": 39 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 39 - }, - "frame": { - "x": 93, - "y": 40, - "w": 48, - "h": 39 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 46, - "h": 41 - }, - "frame": { - "x": 0, - "y": 82, - "w": 46, - "h": 41 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 39 - }, - "frame": { - "x": 93, - "y": 79, - "w": 48, - "h": 39 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 45, - "h": 41 - }, - "frame": { - "x": 46, - "y": 118, - "w": 45, - "h": 41 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 45, - "h": 41 - }, - "frame": { - "x": 46, - "y": 118, - "w": 45, - "h": 41 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 43, - "h": 41 - }, - "frame": { - "x": 91, - "y": 118, - "w": 43, - "h": 41 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:9312bae554a97f4e1cf7cd6a28ceabf6:1da73bda54fc1449f0690b5744fb330d:1ad579f7e215608104284deec571c282$" - } -} diff --git a/public/images/pokemon/exp/843.png b/public/images/pokemon/exp/843.png deleted file mode 100644 index 2e45524e26a..00000000000 Binary files a/public/images/pokemon/exp/843.png and /dev/null differ diff --git a/public/images/pokemon/exp/844.json b/public/images/pokemon/exp/844.json deleted file mode 100644 index a081ca549c5..00000000000 --- a/public/images/pokemon/exp/844.json +++ /dev/null @@ -1,314 +0,0 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 216, - "h": 216 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 54 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 86, - "y": 0, - "w": 86, - "h": 54 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 86, - "y": 0, - "w": 86, - "h": 54 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 54, - "w": 86, - "h": 54 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 54, - "w": 86, - "h": 54 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 85, - "h": 54 - }, - "frame": { - "x": 86, - "y": 54, - "w": 85, - "h": 54 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 85, - "h": 54 - }, - "frame": { - "x": 86, - "y": 54, - "w": 85, - "h": 54 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 108, - "w": 84, - "h": 54 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 108, - "w": 84, - "h": 54 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 162, - "w": 84, - "h": 54 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 162, - "w": 84, - "h": 54 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 82, - "h": 54 - }, - "frame": { - "x": 84, - "y": 108, - "w": 82, - "h": 54 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 82, - "h": 54 - }, - "frame": { - "x": 84, - "y": 108, - "w": 82, - "h": 54 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 81, - "h": 54 - }, - "frame": { - "x": 84, - "y": 162, - "w": 81, - "h": 54 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:477c3e24ed01f357b40b55a146886579:67027ad0ed80befaa15d0952f4fbaf01:791c04bd94958ea464eaa02b1a2ef466$" - } -} diff --git a/public/images/pokemon/exp/844.png b/public/images/pokemon/exp/844.png deleted file mode 100644 index bd138b7b6d8..00000000000 Binary files a/public/images/pokemon/exp/844.png and /dev/null differ diff --git a/public/images/pokemon/exp/902-female.json b/public/images/pokemon/exp/902-female.json deleted file mode 100644 index c9199ab17bb..00000000000 --- a/public/images/pokemon/exp/902-female.json +++ /dev/null @@ -1,1343 +0,0 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 256, - "h": 256 - }, - "scale": 1, - "frames": [ - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 175, - "y": 65, - "w": 81, - "h": 64 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 175, - "y": 65, - "w": 81, - "h": 64 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 106, - "w": 87, - "h": 53 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 106, - "w": 87, - "h": 53 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 170, - "y": 129, - "w": 81, - "h": 64 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 170, - "y": 129, - "w": 81, - "h": 64 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:115e187eb068c187d4e3d4e4716da67a:d0e3dc39bdcde2a96488e969c8b3f7f5:16072dc598107c41afadd9df4d7c27da$" - } -} diff --git a/public/images/pokemon/exp/902-female.png b/public/images/pokemon/exp/902-female.png deleted file mode 100644 index c1cb86ff3bf..00000000000 Binary files a/public/images/pokemon/exp/902-female.png and /dev/null differ diff --git a/public/images/pokemon/exp/902.json b/public/images/pokemon/exp/902.json deleted file mode 100644 index 03f5f82f2cf..00000000000 --- a/public/images/pokemon/exp/902.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 256, - "h": 256 - }, - "scale": 1, - "frames": [ - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 92, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 92, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:632d7ea475140a78bc0f0fe0a237a81f:76d6a97a8838fd8d63e2c574059d7244:7d196ae78ad956c5eb9131e145b5922f$" - } -} diff --git a/public/images/pokemon/exp/902.png b/public/images/pokemon/exp/902.png deleted file mode 100644 index dc4d7117ca8..00000000000 Binary files a/public/images/pokemon/exp/902.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/769.json b/public/images/pokemon/exp/back/769.json deleted file mode 100644 index 41828e9c61f..00000000000 --- a/public/images/pokemon/exp/back/769.json +++ /dev/null @@ -1,965 +0,0 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 219, - "h": 219 - }, - "scale": 1, - "frames": [ - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 0, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 0, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 48, - "w": 56, - "h": 48 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 96, - "w": 56, - "h": 48 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 96, - "w": 56, - "h": 48 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 144, - "w": 56, - "h": 48 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 111, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 111, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 5, - "y": 9, - "w": 64, - "h": 41 - }, - "frame": { - "x": 111, - "y": 144, - "w": 64, - "h": 41 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 5, - "y": 9, - "w": 64, - "h": 41 - }, - "frame": { - "x": 111, - "y": 144, - "w": 64, - "h": 41 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 24, - "w": 73, - "h": 28 - }, - "frame": { - "x": 111, - "y": 185, - "w": 73, - "h": 28 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 24, - "w": 73, - "h": 28 - }, - "frame": { - "x": 111, - "y": 185, - "w": 73, - "h": 28 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:17e2413963cd5bd4a68ba8e469dfc190:227880ca0b7c52d6cb51957ab3a1be77:ba2e5a01352778ce94d84746368de8fc$" - } -} diff --git a/public/images/pokemon/exp/back/769.png b/public/images/pokemon/exp/back/769.png deleted file mode 100644 index bfd607cfc73..00000000000 Binary files a/public/images/pokemon/exp/back/769.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/770.json b/public/images/pokemon/exp/back/770.json deleted file mode 100644 index a34a15a289c..00000000000 --- a/public/images/pokemon/exp/back/770.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 191, - "h": 191 - }, - "scale": 1, - "frames": [ - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 88, - "h": 64 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 64 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 88, - "h": 64 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 64 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 89, - "h": 63 - }, - "frame": { - "x": 0, - "y": 64, - "w": 89, - "h": 63 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 89, - "h": 63 - }, - "frame": { - "x": 0, - "y": 64, - "w": 89, - "h": 63 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 89, - "h": 61 - }, - "frame": { - "x": 88, - "y": 0, - "w": 89, - "h": 61 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 88, - "h": 64 - }, - "frame": { - "x": 89, - "y": 61, - "w": 88, - "h": 64 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 88, - "h": 64 - }, - "frame": { - "x": 89, - "y": 61, - "w": 88, - "h": 64 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 87, - "h": 64 - }, - "frame": { - "x": 89, - "y": 125, - "w": 87, - "h": 64 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 86, - "h": 64 - }, - "frame": { - "x": 0, - "y": 127, - "w": 86, - "h": 64 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 89, - "h": 64 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 86, - "h": 64 - }, - "frame": { - "x": 0, - "y": 127, - "w": 86, - "h": 64 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:437913a3fac6d9b2d11b7dc09b7d835f:94d3b6901d95203a26299fb484be5e9d:9a5e6a86eb0697afa19bc4a32f422cc1$" - } -} diff --git a/public/images/pokemon/exp/back/770.png b/public/images/pokemon/exp/back/770.png deleted file mode 100644 index e3d0bc64cbb..00000000000 Binary files a/public/images/pokemon/exp/back/770.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/843.json b/public/images/pokemon/exp/back/843.json deleted file mode 100644 index b81be0f5e96..00000000000 --- a/public/images/pokemon/exp/back/843.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 133, - "h": 133 - }, - "scale": 1, - "frames": [ - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 46, - "w": 46, - "h": 46 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 46, - "w": 46, - "h": 46 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 45, - "h": 41 - }, - "frame": { - "x": 0, - "y": 92, - "w": 45, - "h": 41 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 46, - "y": 0, - "w": 46, - "h": 46 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 46, - "h": 43 - }, - "frame": { - "x": 46, - "y": 46, - "w": 46, - "h": 43 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 46, - "h": 43 - }, - "frame": { - "x": 46, - "y": 46, - "w": 46, - "h": 43 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 45, - "h": 42 - }, - "frame": { - "x": 46, - "y": 89, - "w": 45, - "h": 42 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 45, - "h": 42 - }, - "frame": { - "x": 46, - "y": 89, - "w": 45, - "h": 42 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:7d4f6807020830ca248b07a70cc65564:a038fb69889659cec8a86a0a2c87caf9:1ad579f7e215608104284deec571c282$" - } -} diff --git a/public/images/pokemon/exp/back/843.png b/public/images/pokemon/exp/back/843.png deleted file mode 100644 index e83d4585b0c..00000000000 Binary files a/public/images/pokemon/exp/back/843.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/844.json b/public/images/pokemon/exp/back/844.json deleted file mode 100644 index 3842ea72251..00000000000 --- a/public/images/pokemon/exp/back/844.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 158, - "h": 158 - }, - "scale": 1, - "frames": [ - { - "filename": "0002.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 78, - "h": 54 - }, - "frame": { - "x": 80, - "y": 0, - "w": 78, - "h": 54 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 80, - "h": 52 - }, - "frame": { - "x": 0, - "y": 54, - "w": 80, - "h": 52 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 80, - "h": 52 - }, - "frame": { - "x": 0, - "y": 54, - "w": 80, - "h": 52 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 78, - "h": 51 - }, - "frame": { - "x": 80, - "y": 54, - "w": 78, - "h": 51 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 78, - "h": 51 - }, - "frame": { - "x": 80, - "y": 54, - "w": 78, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 76, - "h": 51 - }, - "frame": { - "x": 0, - "y": 106, - "w": 76, - "h": 51 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 76, - "h": 51 - }, - "frame": { - "x": 0, - "y": 106, - "w": 76, - "h": 51 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 74, - "h": 51 - }, - "frame": { - "x": 76, - "y": 106, - "w": 74, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:9a8eaa95a1aa10ec56d71049f5970748:df23578a39b2aa0947e5b54998000c85:791c04bd94958ea464eaa02b1a2ef466$" - } -} diff --git a/public/images/pokemon/exp/back/844.png b/public/images/pokemon/exp/back/844.png deleted file mode 100644 index 46370c35b6c..00000000000 Binary files a/public/images/pokemon/exp/back/844.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/902-female.json b/public/images/pokemon/exp/back/902-female.json deleted file mode 100644 index 01ac8d32ff7..00000000000 --- a/public/images/pokemon/exp/back/902-female.json +++ /dev/null @@ -1,1133 +0,0 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 268, - "h": 268 - }, - "scale": 1, - "frames": [ - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 94, - "y": 0, - "w": 95, - "h": 52 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 94, - "y": 0, - "w": 95, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 0, - "y": 106, - "w": 95, - "h": 52 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 0, - "y": 106, - "w": 95, - "h": 52 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:3939a94ab32127fed1d5a7151ac2eee9:d0987a8c23e60b048a74e115e6e34fc0:16072dc598107c41afadd9df4d7c27da$" - } -} diff --git a/public/images/pokemon/exp/back/902-female.png b/public/images/pokemon/exp/back/902-female.png deleted file mode 100644 index 44cb3041e86..00000000000 Binary files a/public/images/pokemon/exp/back/902-female.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/902.json b/public/images/pokemon/exp/back/902.json deleted file mode 100644 index b1b8498b3c1..00000000000 --- a/public/images/pokemon/exp/back/902.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 266, - "h": 266 - }, - "scale": 1, - "frames": [ - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 95, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 95, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 95, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ad774fe1463b06aea50bcdcfb8593161:00be66ffe58b669a968e6b18b9b99dac:7d196ae78ad956c5eb9131e145b5922f$" - } -} diff --git a/public/images/pokemon/exp/back/902.png b/public/images/pokemon/exp/back/902.png deleted file mode 100644 index adca91304f4..00000000000 Binary files a/public/images/pokemon/exp/back/902.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/769.json b/public/images/pokemon/exp/back/shiny/769.json deleted file mode 100644 index 62cbee813e4..00000000000 --- a/public/images/pokemon/exp/back/shiny/769.json +++ /dev/null @@ -1,1217 +0,0 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 219, - "h": 219 - }, - "scale": 1, - "frames": [ - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 0, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 0, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 57, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 113, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 48, - "w": 56, - "h": 48 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 96, - "w": 56, - "h": 48 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 96, - "w": 56, - "h": 48 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 144, - "w": 56, - "h": 48 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 25, - "w": 73, - "h": 27 - }, - "frame": { - "x": 0, - "y": 192, - "w": 73, - "h": 27 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 56, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 111, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 111, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 5, - "y": 9, - "w": 64, - "h": 41 - }, - "frame": { - "x": 111, - "y": 144, - "w": 64, - "h": 41 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 5, - "y": 9, - "w": 64, - "h": 41 - }, - "frame": { - "x": 111, - "y": 144, - "w": 64, - "h": 41 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 24, - "w": 73, - "h": 28 - }, - "frame": { - "x": 111, - "y": 185, - "w": 73, - "h": 28 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 73, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 24, - "w": 73, - "h": 28 - }, - "frame": { - "x": 111, - "y": 185, - "w": 73, - "h": 28 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:922ee7114272dbc4670881968061d085:a259b23e31738d576c8d5ad691bec34b:ba2e5a01352778ce94d84746368de8fc$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/769.png b/public/images/pokemon/exp/back/shiny/769.png deleted file mode 100644 index 1d557d1ce12..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/769.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/770.json b/public/images/pokemon/exp/back/shiny/770.json deleted file mode 100644 index 887f1bbc383..00000000000 --- a/public/images/pokemon/exp/back/shiny/770.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 380, - "h": 380 - }, - "scale": 1, - "frames": [ - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 86, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 55 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 86, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 55 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 86, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 55 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 86, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 55 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 86, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 55 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 86, - "h": 55 - }, - "frame": { - "x": 86, - "y": 0, - "w": 86, - "h": 55 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 84, - "h": 56 - }, - "frame": { - "x": 172, - "y": 0, - "w": 84, - "h": 56 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 84, - "h": 56 - }, - "frame": { - "x": 172, - "y": 0, - "w": 84, - "h": 56 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 84, - "h": 56 - }, - "frame": { - "x": 172, - "y": 0, - "w": 84, - "h": 56 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 84, - "h": 56 - }, - "frame": { - "x": 172, - "y": 0, - "w": 84, - "h": 56 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 84, - "h": 56 - }, - "frame": { - "x": 172, - "y": 0, - "w": 84, - "h": 56 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 84, - "h": 56 - }, - "frame": { - "x": 256, - "y": 0, - "w": 84, - "h": 56 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 55, - "w": 82, - "h": 57 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 55, - "w": 82, - "h": 57 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 55, - "w": 82, - "h": 57 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 55, - "w": 82, - "h": 57 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 55, - "w": 82, - "h": 57 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 82, - "y": 55, - "w": 82, - "h": 57 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 84, - "h": 55 - }, - "frame": { - "x": 164, - "y": 56, - "w": 84, - "h": 55 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 84, - "h": 55 - }, - "frame": { - "x": 164, - "y": 56, - "w": 84, - "h": 55 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 84, - "h": 55 - }, - "frame": { - "x": 164, - "y": 56, - "w": 84, - "h": 55 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 84, - "h": 55 - }, - "frame": { - "x": 164, - "y": 56, - "w": 84, - "h": 55 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 84, - "h": 55 - }, - "frame": { - "x": 164, - "y": 56, - "w": 84, - "h": 55 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 84, - "h": 55 - }, - "frame": { - "x": 248, - "y": 56, - "w": 84, - "h": 55 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 164, - "y": 111, - "w": 82, - "h": 56 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 164, - "y": 111, - "w": 82, - "h": 56 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 164, - "y": 111, - "w": 82, - "h": 56 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 164, - "y": 111, - "w": 82, - "h": 56 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 164, - "y": 111, - "w": 82, - "h": 56 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 164, - "y": 111, - "w": 82, - "h": 56 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 246, - "y": 111, - "w": 82, - "h": 56 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 0, - "y": 112, - "w": 82, - "h": 56 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 112, - "w": 80, - "h": 57 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 112, - "w": 80, - "h": 57 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 112, - "w": 80, - "h": 57 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 112, - "w": 80, - "h": 57 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 112, - "w": 80, - "h": 57 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 0, - "y": 168, - "w": 80, - "h": 57 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 0, - "y": 168, - "w": 80, - "h": 57 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 0, - "y": 168, - "w": 80, - "h": 57 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 0, - "y": 168, - "w": 80, - "h": 57 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 0, - "y": 168, - "w": 80, - "h": 57 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 162, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 80, - "y": 169, - "w": 80, - "h": 57 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 0, - "y": 225, - "w": 80, - "h": 57 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 242, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 160, - "y": 224, - "w": 78, - "h": 57 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 160, - "y": 224, - "w": 78, - "h": 57 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 160, - "y": 224, - "w": 78, - "h": 57 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 160, - "y": 224, - "w": 78, - "h": 57 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 160, - "y": 224, - "w": 78, - "h": 57 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 160, - "y": 224, - "w": 78, - "h": 57 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 80, - "y": 226, - "w": 78, - "h": 57 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 0, - "y": 282, - "w": 78, - "h": 57 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 19, - "w": 96, - "h": 38 - }, - "frame": { - "x": 0, - "y": 339, - "w": 96, - "h": 38 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 85, - "h": 51 - }, - "frame": { - "x": 78, - "y": 283, - "w": 85, - "h": 51 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 2, - "y": 13, - "w": 92, - "h": 44 - }, - "frame": { - "x": 96, - "y": 334, - "w": 92, - "h": 44 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 85, - "h": 51 - }, - "frame": { - "x": 163, - "y": 281, - "w": 85, - "h": 51 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 2, - "y": 13, - "w": 92, - "h": 44 - }, - "frame": { - "x": 238, - "y": 224, - "w": 92, - "h": 44 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 19, - "w": 96, - "h": 38 - }, - "frame": { - "x": 188, - "y": 332, - "w": 96, - "h": 38 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 19, - "w": 96, - "h": 38 - }, - "frame": { - "x": 188, - "y": 332, - "w": 96, - "h": 38 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 19, - "w": 96, - "h": 38 - }, - "frame": { - "x": 248, - "y": 268, - "w": 96, - "h": 38 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 19, - "w": 96, - "h": 38 - }, - "frame": { - "x": 248, - "y": 268, - "w": 96, - "h": 38 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 19, - "w": 96, - "h": 38 - }, - "frame": { - "x": 284, - "y": 306, - "w": 96, - "h": 38 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:55ae04ada6f829288ce7164dade3ea4b:cc59d4502a219eb4351f2cd3327463ac:9a5e6a86eb0697afa19bc4a32f422cc1$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/770.png b/public/images/pokemon/exp/back/shiny/770.png deleted file mode 100644 index 97099a7a5e4..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/770.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/843.json b/public/images/pokemon/exp/back/shiny/843.json deleted file mode 100644 index 46ae16950ad..00000000000 --- a/public/images/pokemon/exp/back/shiny/843.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 133, - "h": 133 - }, - "scale": 1, - "frames": [ - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 46, - "w": 46, - "h": 46 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 0, - "y": 46, - "w": 46, - "h": 46 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 45, - "h": 41 - }, - "frame": { - "x": 0, - "y": 92, - "w": 45, - "h": 41 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 46, - "h": 46 - }, - "frame": { - "x": 46, - "y": 0, - "w": 46, - "h": 46 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 46, - "h": 43 - }, - "frame": { - "x": 46, - "y": 46, - "w": 46, - "h": 43 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 46, - "h": 43 - }, - "frame": { - "x": 46, - "y": 46, - "w": 46, - "h": 43 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 45, - "h": 42 - }, - "frame": { - "x": 46, - "y": 89, - "w": 45, - "h": 42 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 47, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 45, - "h": 42 - }, - "frame": { - "x": 46, - "y": 89, - "w": 45, - "h": 42 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:821779b631adb216096c606af6af05e0:2735a7d59f569a57a22d0ed4e628a4fa:1ad579f7e215608104284deec571c282$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/843.png b/public/images/pokemon/exp/back/shiny/843.png deleted file mode 100644 index ceec31910b4..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/843.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/844.json b/public/images/pokemon/exp/back/shiny/844.json deleted file mode 100644 index c5d934c1e28..00000000000 --- a/public/images/pokemon/exp/back/shiny/844.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 158, - "h": 158 - }, - "scale": 1, - "frames": [ - { - "filename": "0002.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 54 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 78, - "h": 54 - }, - "frame": { - "x": 80, - "y": 0, - "w": 78, - "h": 54 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 80, - "h": 52 - }, - "frame": { - "x": 0, - "y": 54, - "w": 80, - "h": 52 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 80, - "h": 52 - }, - "frame": { - "x": 0, - "y": 54, - "w": 80, - "h": 52 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 78, - "h": 51 - }, - "frame": { - "x": 80, - "y": 54, - "w": 78, - "h": 51 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 78, - "h": 51 - }, - "frame": { - "x": 80, - "y": 54, - "w": 78, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 76, - "h": 51 - }, - "frame": { - "x": 0, - "y": 106, - "w": 76, - "h": 51 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 76, - "h": 51 - }, - "frame": { - "x": 0, - "y": 106, - "w": 76, - "h": 51 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 74, - "h": 51 - }, - "frame": { - "x": 76, - "y": 106, - "w": 74, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:832f55237b104f730690119d0080edbd:35ebf68ce5a6c5bf4f05d30ad8381df2:791c04bd94958ea464eaa02b1a2ef466$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/844.png b/public/images/pokemon/exp/back/shiny/844.png deleted file mode 100644 index 3c96cb26e7b..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/844.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/902-female.json b/public/images/pokemon/exp/back/shiny/902-female.json deleted file mode 100644 index 803d60ac478..00000000000 --- a/public/images/pokemon/exp/back/shiny/902-female.json +++ /dev/null @@ -1,1133 +0,0 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 268, - "h": 268 - }, - "scale": 1, - "frames": [ - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 94, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 94, - "h": 53 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 94, - "y": 0, - "w": 95, - "h": 52 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 94, - "y": 0, - "w": 95, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 0, - "y": 106, - "w": 95, - "h": 52 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 95, - "h": 52 - }, - "frame": { - "x": 0, - "y": 106, - "w": 95, - "h": 52 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 90, - "h": 53 - }, - "frame": { - "x": 0, - "y": 158, - "w": 90, - "h": 53 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 84, - "h": 57 - }, - "frame": { - "x": 0, - "y": 211, - "w": 84, - "h": 57 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 87, - "h": 53 - }, - "frame": { - "x": 94, - "y": 52, - "w": 87, - "h": 53 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 95, - "y": 105, - "w": 87, - "h": 53 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 87, - "h": 53 - }, - "frame": { - "x": 90, - "y": 158, - "w": 87, - "h": 53 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 0, - "w": 85, - "h": 55 - }, - "frame": { - "x": 84, - "y": 211, - "w": 85, - "h": 55 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 87, - "h": 52 - }, - "frame": { - "x": 181, - "y": 52, - "w": 87, - "h": 52 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 8, - "y": 3, - "w": 84, - "h": 55 - }, - "frame": { - "x": 182, - "y": 104, - "w": 84, - "h": 55 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 13, - "y": 4, - "w": 85, - "h": 53 - }, - "frame": { - "x": 177, - "y": 159, - "w": 85, - "h": 53 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 98, - "h": 60 - }, - "spriteSourceSize": { - "x": 15, - "y": 3, - "w": 83, - "h": 56 - }, - "frame": { - "x": 169, - "y": 212, - "w": 83, - "h": 56 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:9b4b781abf75f9abb884f66e98255d50:42a087e5297a8d07c783766835cd8c53:16072dc598107c41afadd9df4d7c27da$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/902-female.png b/public/images/pokemon/exp/back/shiny/902-female.png deleted file mode 100644 index 8cb6dc0f15d..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/902-female.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/902.json b/public/images/pokemon/exp/back/shiny/902.json deleted file mode 100644 index 74503c628ee..00000000000 --- a/public/images/pokemon/exp/back/shiny/902.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 266, - "h": 266 - }, - "scale": 1, - "frames": [ - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 95, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 95, - "h": 53 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 95, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 95, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 95, - "h": 53 - }, - "frame": { - "x": 95, - "y": 0, - "w": 95, - "h": 53 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 93, - "h": 54 - }, - "frame": { - "x": 0, - "y": 106, - "w": 93, - "h": 54 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 93, - "h": 53 - }, - "frame": { - "x": 95, - "y": 53, - "w": 93, - "h": 53 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 94, - "h": 52 - }, - "frame": { - "x": 93, - "y": 106, - "w": 94, - "h": 52 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 92, - "h": 53 - }, - "frame": { - "x": 0, - "y": 160, - "w": 92, - "h": 53 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 93, - "h": 52 - }, - "frame": { - "x": 0, - "y": 213, - "w": 93, - "h": 52 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 12, - "y": 0, - "w": 87, - "h": 58 - }, - "frame": { - "x": 93, - "y": 158, - "w": 87, - "h": 58 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 99, - "h": 58 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 89, - "h": 50 - }, - "frame": { - "x": 93, - "y": 216, - "w": 89, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2451cf7e277062cecf292eff8b2b6f26:f341a87cf9adc9522802797cd0a2ca6a:7d196ae78ad956c5eb9131e145b5922f$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/902.png b/public/images/pokemon/exp/back/shiny/902.png deleted file mode 100644 index 9b049d4a954..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/902.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/769.json b/public/images/pokemon/exp/shiny/769.json deleted file mode 100644 index 640351de7af..00000000000 --- a/public/images/pokemon/exp/shiny/769.json +++ /dev/null @@ -1,1217 +0,0 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 222, - "h": 222 - }, - "scale": 1, - "frames": [ - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 61, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 61, - "h": 46 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 2, - "y": 5, - "w": 61, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 61, - "h": 46 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 61, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 57, - "h": 48 - }, - "frame": { - "x": 61, - "y": 0, - "w": 57, - "h": 48 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 46, - "w": 56, - "h": 48 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 118, - "y": 0, - "w": 56, - "h": 48 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 94, - "w": 56, - "h": 48 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 0, - "y": 142, - "w": 56, - "h": 48 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 21, - "w": 65, - "h": 32 - }, - "frame": { - "x": 0, - "y": 190, - "w": 65, - "h": 32 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 56, - "h": 48 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 56, - "y": 48, - "w": 56, - "h": 48 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 56, - "h": 48 - }, - "frame": { - "x": 56, - "y": 96, - "w": 56, - "h": 48 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 65, - "h": 33 - }, - "frame": { - "x": 56, - "y": 144, - "w": 65, - "h": 33 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 65, - "h": 33 - }, - "frame": { - "x": 56, - "y": 144, - "w": 65, - "h": 33 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 112, - "y": 96, - "w": 55, - "h": 48 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 121, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 121, - "y": 144, - "w": 55, - "h": 48 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 167, - "y": 48, - "w": 55, - "h": 48 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 53 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 55, - "h": 48 - }, - "frame": { - "x": 167, - "y": 96, - "w": 55, - "h": 48 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:66382a2034cf2f2852005e2fca1334ac:1df2264887f3adb24b5dd820c7e95284:ba2e5a01352778ce94d84746368de8fc$" - } -} diff --git a/public/images/pokemon/exp/shiny/769.png b/public/images/pokemon/exp/shiny/769.png deleted file mode 100644 index d5689d881c6..00000000000 Binary files a/public/images/pokemon/exp/shiny/769.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/770.json b/public/images/pokemon/exp/shiny/770.json deleted file mode 100644 index 1b68b54db41..00000000000 --- a/public/images/pokemon/exp/shiny/770.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 375, - "h": 375 - }, - "scale": 1, - "frames": [ - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 55 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 55 - }, - "frame": { - "x": 0, - "y": 55, - "w": 87, - "h": 55 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 87, - "y": 0, - "w": 85, - "h": 56 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 1, - "w": 85, - "h": 56 - }, - "frame": { - "x": 0, - "y": 110, - "w": 85, - "h": 56 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 172, - "y": 0, - "w": 85, - "h": 55 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 2, - "w": 85, - "h": 55 - }, - "frame": { - "x": 0, - "y": 166, - "w": 85, - "h": 55 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 221, - "w": 82, - "h": 57 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 0, - "w": 82, - "h": 57 - }, - "frame": { - "x": 0, - "y": 278, - "w": 82, - "h": 57 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 1, - "w": 82, - "h": 56 - }, - "frame": { - "x": 257, - "y": 0, - "w": 82, - "h": 56 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 3, - "w": 82, - "h": 54 - }, - "frame": { - "x": 87, - "y": 56, - "w": 82, - "h": 54 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 110, - "w": 80, - "h": 57 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 85, - "y": 167, - "w": 80, - "h": 57 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 224, - "w": 80, - "h": 57 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 82, - "y": 281, - "w": 80, - "h": 57 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 0, - "y": 338, - "w": 96, - "h": 37 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 96, - "y": 338, - "w": 96, - "h": 37 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 96, - "y": 338, - "w": 96, - "h": 37 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 9, - "w": 85, - "h": 48 - }, - "frame": { - "x": 172, - "y": 55, - "w": 85, - "h": 48 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 6, - "y": 9, - "w": 85, - "h": 48 - }, - "frame": { - "x": 257, - "y": 56, - "w": 85, - "h": 48 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 7, - "y": 3, - "w": 82, - "h": 54 - }, - "frame": { - "x": 169, - "y": 103, - "w": 82, - "h": 54 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 165, - "y": 157, - "w": 80, - "h": 57 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 8, - "y": 0, - "w": 80, - "h": 57 - }, - "frame": { - "x": 251, - "y": 104, - "w": 80, - "h": 57 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 245, - "y": 161, - "w": 78, - "h": 57 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 165, - "y": 214, - "w": 78, - "h": 57 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 9, - "y": 0, - "w": 78, - "h": 57 - }, - "frame": { - "x": 162, - "y": 271, - "w": 78, - "h": 57 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 2, - "y": 18, - "w": 92, - "h": 39 - }, - "frame": { - "x": 243, - "y": 218, - "w": 92, - "h": 39 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 243, - "y": 257, - "w": 96, - "h": 37 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 243, - "y": 257, - "w": 96, - "h": 37 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 20, - "w": 96, - "h": 37 - }, - "frame": { - "x": 240, - "y": 294, - "w": 96, - "h": 37 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 57 - }, - "spriteSourceSize": { - "x": 2, - "y": 18, - "w": 92, - "h": 39 - }, - "frame": { - "x": 192, - "y": 331, - "w": 92, - "h": 39 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ce33d806b6d3aeb64a87ace5887286f6:bf1c87696fd9940bcd542fd3d1696df1:9a5e6a86eb0697afa19bc4a32f422cc1$" - } -} diff --git a/public/images/pokemon/exp/shiny/770.png b/public/images/pokemon/exp/shiny/770.png deleted file mode 100644 index adb3a2c6140..00000000000 Binary files a/public/images/pokemon/exp/shiny/770.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/843.json b/public/images/pokemon/exp/shiny/843.json deleted file mode 100644 index 606b651e157..00000000000 --- a/public/images/pokemon/exp/shiny/843.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 159, - "h": 159 - }, - "scale": 1, - "frames": [ - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 41 - }, - "frame": { - "x": 0, - "y": 0, - "w": 47, - "h": 41 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 40 - }, - "frame": { - "x": 47, - "y": 0, - "w": 48, - "h": 40 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 40 - }, - "frame": { - "x": 95, - "y": 0, - "w": 48, - "h": 40 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 41 - }, - "frame": { - "x": 0, - "y": 41, - "w": 47, - "h": 41 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 46, - "h": 41 - }, - "frame": { - "x": 47, - "y": 40, - "w": 46, - "h": 41 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 39 - }, - "frame": { - "x": 93, - "y": 40, - "w": 48, - "h": 39 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 39 - }, - "frame": { - "x": 93, - "y": 40, - "w": 48, - "h": 39 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 46, - "h": 41 - }, - "frame": { - "x": 0, - "y": 82, - "w": 46, - "h": 41 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 39 - }, - "frame": { - "x": 93, - "y": 79, - "w": 48, - "h": 39 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 45, - "h": 41 - }, - "frame": { - "x": 46, - "y": 118, - "w": 45, - "h": 41 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 45, - "h": 41 - }, - "frame": { - "x": 46, - "y": 118, - "w": 45, - "h": 41 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 48, - "h": 41 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 43, - "h": 41 - }, - "frame": { - "x": 91, - "y": 118, - "w": 43, - "h": 41 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:5f15acfc11dc50d31d21daaca503d589:30076d23ed7b4da19020c913806f4c2d:1ad579f7e215608104284deec571c282$" - } -} diff --git a/public/images/pokemon/exp/shiny/843.png b/public/images/pokemon/exp/shiny/843.png deleted file mode 100644 index 9833474eddf..00000000000 Binary files a/public/images/pokemon/exp/shiny/843.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/844.json b/public/images/pokemon/exp/shiny/844.json deleted file mode 100644 index 09aa143cb67..00000000000 --- a/public/images/pokemon/exp/shiny/844.json +++ /dev/null @@ -1,314 +0,0 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 216, - "h": 216 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 54 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 86, - "y": 0, - "w": 86, - "h": 54 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 86, - "y": 0, - "w": 86, - "h": 54 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 54, - "w": 86, - "h": 54 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 54, - "w": 86, - "h": 54 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 85, - "h": 54 - }, - "frame": { - "x": 86, - "y": 54, - "w": 85, - "h": 54 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 85, - "h": 54 - }, - "frame": { - "x": 86, - "y": 54, - "w": 85, - "h": 54 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 108, - "w": 84, - "h": 54 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 108, - "w": 84, - "h": 54 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 162, - "w": 84, - "h": 54 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 84, - "h": 54 - }, - "frame": { - "x": 0, - "y": 162, - "w": 84, - "h": 54 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 82, - "h": 54 - }, - "frame": { - "x": 84, - "y": 108, - "w": 82, - "h": 54 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 82, - "h": 54 - }, - "frame": { - "x": 84, - "y": 108, - "w": 82, - "h": 54 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 90, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 81, - "h": 54 - }, - "frame": { - "x": 84, - "y": 162, - "w": 81, - "h": 54 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:05e465c32fe20d63f626950aec04b8b3:439b1bdbab19f47195d6524787ecf409:791c04bd94958ea464eaa02b1a2ef466$" - } -} diff --git a/public/images/pokemon/exp/shiny/844.png b/public/images/pokemon/exp/shiny/844.png deleted file mode 100644 index 252aa8b8df9..00000000000 Binary files a/public/images/pokemon/exp/shiny/844.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/902-female.json b/public/images/pokemon/exp/shiny/902-female.json deleted file mode 100644 index b2acc243003..00000000000 --- a/public/images/pokemon/exp/shiny/902-female.json +++ /dev/null @@ -1,1343 +0,0 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 256, - "h": 256 - }, - "scale": 1, - "frames": [ - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 53 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 89, - "h": 53 - }, - "frame": { - "x": 87, - "y": 0, - "w": 89, - "h": 53 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 78, - "h": 65 - }, - "frame": { - "x": 176, - "y": 0, - "w": 78, - "h": 65 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 0, - "y": 53, - "w": 91, - "h": 53 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 84, - "h": 54 - }, - "frame": { - "x": 91, - "y": 53, - "w": 84, - "h": 54 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 175, - "y": 65, - "w": 81, - "h": 64 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 175, - "y": 65, - "w": 81, - "h": 64 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 106, - "w": 87, - "h": 53 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 0, - "y": 8, - "w": 87, - "h": 53 - }, - "frame": { - "x": 0, - "y": 106, - "w": 87, - "h": 53 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 1, - "y": 5, - "w": 83, - "h": 58 - }, - "frame": { - "x": 87, - "y": 107, - "w": 83, - "h": 58 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 170, - "y": 129, - "w": 81, - "h": 64 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 81, - "h": 64 - }, - "frame": { - "x": 170, - "y": 129, - "w": 81, - "h": 64 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 5, - "y": 0, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 165, - "w": 92, - "h": 54 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 100, - "h": 68 - }, - "spriteSourceSize": { - "x": 6, - "y": 0, - "w": 94, - "h": 55 - }, - "frame": { - "x": 92, - "y": 193, - "w": 94, - "h": 55 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ab9ce73c2d4f4722486455dc17452993:ab5c13c3b6e8c1e1332cefd93d4723ce:16072dc598107c41afadd9df4d7c27da$" - } -} diff --git a/public/images/pokemon/exp/shiny/902-female.png b/public/images/pokemon/exp/shiny/902-female.png deleted file mode 100644 index c51e2ca5481..00000000000 Binary files a/public/images/pokemon/exp/shiny/902-female.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/902.json b/public/images/pokemon/exp/shiny/902.json deleted file mode 100644 index 13b0678dbe7..00000000000 --- a/public/images/pokemon/exp/shiny/902.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 256, - "h": 256 - }, - "scale": 1, - "frames": [ - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 88, - "h": 53 - }, - "frame": { - "x": 0, - "y": 0, - "w": 88, - "h": 53 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 91, - "h": 53 - }, - "frame": { - "x": 88, - "y": 0, - "w": 91, - "h": 53 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 77, - "h": 71 - }, - "frame": { - "x": 179, - "y": 0, - "w": 77, - "h": 71 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 88, - "h": 54 - }, - "frame": { - "x": 0, - "y": 53, - "w": 88, - "h": 54 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 88, - "h": 56 - }, - "frame": { - "x": 88, - "y": 53, - "w": 88, - "h": 56 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 0, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 92, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 92, - "h": 54 - }, - "frame": { - "x": 92, - "y": 109, - "w": 92, - "h": 54 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 7, - "w": 86, - "h": 59 - }, - "frame": { - "x": 0, - "y": 163, - "w": 86, - "h": 59 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 83, - "h": 61 - }, - "frame": { - "x": 86, - "y": 163, - "w": 83, - "h": 61 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 81, - "h": 67 - }, - "frame": { - "x": 169, - "y": 163, - "w": 81, - "h": 67 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:dd520ee67a5337a030aa8818dad70dc7:1454ab42db203380c904afffd4339145:7d196ae78ad956c5eb9131e145b5922f$" - } -} diff --git a/public/images/pokemon/exp/shiny/902.png b/public/images/pokemon/exp/shiny/902.png deleted file mode 100644 index 495de913823..00000000000 Binary files a/public/images/pokemon/exp/shiny/902.png and /dev/null differ diff --git a/public/images/pokemon/shiny/550-white-striped.json b/public/images/pokemon/shiny/550-white-striped.json index 83d6d8ff942..f667f112133 100644 --- a/public/images/pokemon/shiny/550-white-striped.json +++ b/public/images/pokemon/shiny/550-white-striped.json @@ -1,41 +1,810 @@ -{ - "textures": [ - { - "image": "550-white-striped.png", - "format": "RGBA8888", - "size": { - "w": 38, - "h": 38 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 38, - "h": 35 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 38, - "h": 35 - }, - "frame": { - "x": 0, - "y": 0, - "w": 38, - "h": 35 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:592de4969ade5134b1be515df3b8d4a7:457dbd40f7a620a5fcd261957e7fda29:f97864a794849ea9866466461e0e9a7f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 111, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 219, "y": 102, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 199, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 166, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 133, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 100, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 67, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 34, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 0, "y": 170, "w": 34, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 34, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 36, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 0, "y": 136, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 183, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 147, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 153, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 0, "y": 68, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 123, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 0, "y": 0, "w": 42, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 42, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 42, "y": 0, "w": 41, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 41, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 83, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 195, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 156, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 117, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 115, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 111, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 219, "y": 102, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 199, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 166, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 133, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 100, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 67, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 34, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 0, "y": 170, "w": 34, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 34, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 36, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 0, "y": 136, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 183, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 147, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 153, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 68, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 123, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 42, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 42, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 42, "y": 0, "w": 41, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 41, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 83, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 195, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 156, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 117, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 115, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 111, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 219, "y": 102, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 199, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 166, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 133, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 100, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 67, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 34, "y": 170, "w": 33, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 33, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 0, "y": 170, "w": 34, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 34, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 36, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 0, "y": 136, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 183, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 147, "y": 102, "w": 36, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 36, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 153, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 0, "y": 68, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 123, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 0, "y": 0, "w": 42, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 5, "w": 42, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 42, "y": 0, "w": 41, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 41, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 83, "y": 0, "w": 40, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 40, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 195, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 156, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 117, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 115, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 37, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 71, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 78, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 106, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 2, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 39, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 2, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 141, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 0, "y": 34, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 176, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 202, "y": 0, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 74, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 0, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 211, "y": 136, "w": 35, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 0, "w": 35, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 191, "y": 68, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 0, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 163, "y": 0, "w": 39, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 39, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 77, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 1, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 39, "y": 68, "w": 38, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 38, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 0, "y": 102, "w": 37, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 37, "h": 34 }, + "sourceSize": { "w": 52, "h": 39 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "550-white-striped.png", + "format": "I8", + "size": { "w": 252, "h": 204 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/shiny/550-white-striped.png b/public/images/pokemon/shiny/550-white-striped.png index 183fd1823d5..2e9d628e436 100644 Binary files a/public/images/pokemon/shiny/550-white-striped.png and b/public/images/pokemon/shiny/550-white-striped.png differ diff --git a/public/images/pokemon/shiny/769.json b/public/images/pokemon/shiny/769.json index acbeec302e1..36284af1640 100644 --- a/public/images/pokemon/shiny/769.json +++ b/public/images/pokemon/shiny/769.json @@ -1,41 +1,423 @@ -{ - "textures": [ - { - "image": "769.png", - "format": "RGBA8888", - "size": { - "w": 54, - "h": 54 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 54, - "h": 46 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - }, - "frame": { - "x": 0, - "y": 0, - "w": 54, - "h": 46 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:8512fb94a4c360440d75d608cf6e0dbb:fa14bf3860ae175e13f575b34f9c4eeb:ba2e5a01352778ce94d84746368de8fc$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 330 + }, + { + "filename": "0012.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 160, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 330 + }, + { + "filename": "0022.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 0, "y": 44, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 0, "y": 0, "w": 59, "h": 44 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 59, "h": 44 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 141, "w": 63, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 21, "w": 63, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 160, "y": 140, "w": 65, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 22, "w": 65, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 770 + }, + { + "filename": "0027.png", + "frame": { "x": 160, "y": 140, "w": 65, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 22, "w": 65, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 0, "y": 141, "w": 63, "h": 31 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 21, "w": 63, "h": 31 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 0, "w": 59, "h": 44 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 59, "h": 44 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 0, "y": 44, "w": 55, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 55, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 59, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 55, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 108, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 330 + }, + { + "filename": "0037.png", + "frame": { "x": 106, "y": 94, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 113, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 161, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 90, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 106, "y": 140, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 106, "y": 140, "w": 54, "h": 46 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 54, "h": 46 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 167, "y": 0, "w": 54, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 54, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 161, "y": 47, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 53, "y": 94, "w": 53, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 53, "h": 47 }, + "sourceSize": { "w": 65, "h": 53 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "769.png", + "format": "I8", + "size": { "w": 225, "h": 186 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/shiny/769.png b/public/images/pokemon/shiny/769.png index baa97be0df5..048ced8b759 100644 Binary files a/public/images/pokemon/shiny/769.png and b/public/images/pokemon/shiny/769.png differ diff --git a/public/images/pokemon/shiny/770.json b/public/images/pokemon/shiny/770.json index 36d47eca80b..2170fc02cbc 100644 --- a/public/images/pokemon/shiny/770.json +++ b/public/images/pokemon/shiny/770.json @@ -1,41 +1,594 @@ -{ - "textures": [ - { - "image": "770.png", - "format": "RGBA8888", - "size": { - "w": 76, - "h": 76 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 76, - "h": 57 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - }, - "frame": { - "x": 0, - "y": 0, - "w": 76, - "h": 57 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:e1343105f8aae6ed43401fdba2ce5ba4:cc12a6c56da88f7b185b8fb2fc3409fa:9a5e6a86eb0697afa19bc4a32f422cc1$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0002.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0003.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0004.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0006.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0007.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0008.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0009.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0010.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0011.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0012.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0014.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0016.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0017.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0018.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0019.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0020.png", + "frame": { "x": 419, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0021.png", + "frame": { "x": 85, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0022.png", + "frame": { "x": 253, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0023.png", + "frame": { "x": 80, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0024.png", + "frame": { "x": 414, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0025.png", + "frame": { "x": 154, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0026.png", + "frame": { "x": 238, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0027.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0028.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0030.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0031.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0032.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0033.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0034.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0035.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0036.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0037.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0038.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0039.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0040.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0041.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0042.png", + "frame": { "x": 160, "y": 55, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0043.png", + "frame": { "x": 492, "y": 54, "w": 80, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 80, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0044.png", + "frame": { "x": 336, "y": 0, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0045.png", + "frame": { "x": 0, "y": 0, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 85, "h": 54 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0046.png", + "frame": { "x": 170, "y": 0, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 2, "w": 83, "h": 55 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0047.png", + "frame": { "x": 0, "y": 54, "w": 80, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 80, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0048.png", + "frame": { "x": 336, "y": 54, "w": 78, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 78, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0049.png", + "frame": { "x": 78, "y": 110, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0050.png", + "frame": { "x": 492, "y": 109, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0051.png", + "frame": { "x": 306, "y": 111, "w": 80, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 80, "h": 53 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0052.png", + "frame": { "x": 306, "y": 164, "w": 83, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 10, "w": 83, "h": 47 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0053.png", + "frame": { "x": 472, "y": 201, "w": 90, "h": 38 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 19, "w": 90, "h": 38 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0054.png", + "frame": { "x": 472, "y": 165, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0055.png", + "frame": { "x": 0, "y": 167, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0056.png", + "frame": { "x": 96, "y": 168, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0057.png", + "frame": { "x": 192, "y": 168, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0058.png", + "frame": { "x": 96, "y": 168, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0059.png", + "frame": { "x": 0, "y": 167, "w": 96, "h": 36 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 21, "w": 96, "h": 36 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0060.png", + "frame": { "x": 0, "y": 203, "w": 90, "h": 38 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 19, "w": 90, "h": 38 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0061.png", + "frame": { "x": 389, "y": 164, "w": 83, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 10, "w": 83, "h": 47 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0062.png", + "frame": { "x": 386, "y": 111, "w": 80, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 80, "h": 53 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0063.png", + "frame": { "x": 0, "y": 110, "w": 78, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 78, "h": 56 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + }, + { + "filename": "0064.png", + "frame": { "x": 230, "y": 111, "w": 76, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 76, "h": 57 }, + "sourceSize": { "w": 96, "h": 57 }, + "duration": 110 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "770.png", + "format": "I8", + "size": { "w": 572, "h": 241 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/shiny/770.png b/public/images/pokemon/shiny/770.png index 826658c19d2..778ab2c3ac5 100644 Binary files a/public/images/pokemon/shiny/770.png and b/public/images/pokemon/shiny/770.png differ diff --git a/public/images/pokemon/shiny/843.json b/public/images/pokemon/shiny/843.json index 3d34ff92111..40f78f893d9 100644 --- a/public/images/pokemon/shiny/843.json +++ b/public/images/pokemon/shiny/843.json @@ -1,41 +1,648 @@ -{ - "textures": [ - { - "image": "843.png", - "format": "RGBA8888", - "size": { - "w": 42, - "h": 42 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 42, - "h": 40 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 42, - "h": 40 - }, - "frame": { - "x": 0, - "y": 0, - "w": 42, - "h": 40 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ac9209a149736e9deaf853869a248b2f:493730b1c2a96026a56d9b5052c92814:1ad579f7e215608104284deec571c282$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 172, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 214, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 256, "y": 166, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 128, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 4, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 128, "y": 166, "w": 44, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 44, "h": 39 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 86, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 0, "y": 43, "w": 46, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 46, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 193, "y": 42, "w": 45, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 45, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 130, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 225, "y": 86, "w": 44, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 44, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 216, "y": 126, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 42, "y": 128, "w": 43, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 43, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 0, "y": 165, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 0, "y": 83, "w": 44, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 44, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 193, "y": 0, "w": 46, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 1, "w": 46, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 99, "y": 0, "w": 48, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 48, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 0, "w": 50, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 50, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 50, "y": 0, "w": 49, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 49, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 147, "y": 0, "w": 46, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 46, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 239, "y": 0, "w": 44, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 44, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 99, "y": 42, "w": 42, "h": 44 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 44 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 46, "y": 43, "w": 42, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 141, "y": 43, "w": 42, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 238, "y": 43, "w": 42, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 43 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 183, "y": 83, "w": 42, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 44, "y": 86, "w": 42, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 42 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 0, "y": 124, "w": 42, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 42, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 174, "y": 125, "w": 42, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 86, "y": 126, "w": 42, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 41 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 85, "y": 167, "w": 42, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 42, "h": 40 }, + "sourceSize": { "w": 50, "h": 47 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "843.png", + "format": "I8", + "size": { "w": 298, "h": 207 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/shiny/843.png b/public/images/pokemon/shiny/843.png index a76dce8e74d..bc78f828ecb 100644 Binary files a/public/images/pokemon/shiny/843.png and b/public/images/pokemon/shiny/843.png differ diff --git a/public/images/pokemon/shiny/844.json b/public/images/pokemon/shiny/844.json index fcbb69194d3..2421d17e37b 100644 --- a/public/images/pokemon/shiny/844.json +++ b/public/images/pokemon/shiny/844.json @@ -1,41 +1,1593 @@ -{ - "textures": [ - { - "image": "844.png", - "format": "RGBA8888", - "size": { - "w": 85, - "h": 85 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 85, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 85, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 85, - "h": 54 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:5147baf48fd1408bddc245055a932c76:33e64a65299e42479316bff477a9723c:791c04bd94958ea464eaa02b1a2ef466$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0020.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0039.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0057.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0076.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0094.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0112.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0113.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0114.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0115.png", + "frame": { "x": 172, "y": 0, "w": 85, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 85, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0116.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0117.png", + "frame": { "x": 0, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0118.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0119.png", + "frame": { "x": 86, "y": 0, "w": 86, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 5, "w": 86, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0120.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0121.png", + "frame": { "x": 342, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0122.png", + "frame": { "x": 427, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0123.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0124.png", + "frame": { "x": 0, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0125.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0126.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0127.png", + "frame": { "x": 170, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0128.png", + "frame": { "x": 255, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0129.png", + "frame": { "x": 254, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0130.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0131.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0132.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0133.png", + "frame": { "x": 340, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0134.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0135.png", + "frame": { "x": 343, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0136.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0137.png", + "frame": { "x": 425, "y": 108, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0138.png", + "frame": { "x": 85, "y": 55, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0139.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0140.png", + "frame": { "x": 0, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0141.png", + "frame": { "x": 429, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0142.png", + "frame": { "x": 257, "y": 0, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0143.png", + "frame": { "x": 257, "y": 54, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0144.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0145.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0146.png", + "frame": { "x": 338, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0147.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0148.png", + "frame": { "x": 422, "y": 162, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0149.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 350 + }, + { + "filename": "0150.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0151.png", + "frame": { "x": 164, "y": 163, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 6, "w": 82, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0152.png", + "frame": { "x": 164, "y": 163, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 6, "w": 82, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0153.png", + "frame": { "x": 407, "y": 216, "w": 80, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 80, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0154.png", + "frame": { "x": 407, "y": 216, "w": 80, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 80, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0155.png", + "frame": { "x": 164, "y": 217, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 6, "w": 79, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0156.png", + "frame": { "x": 164, "y": 217, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 6, "w": 79, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0157.png", + "frame": { "x": 80, "y": 218, "w": 78, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 6, "w": 78, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0158.png", + "frame": { "x": 80, "y": 218, "w": 78, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 6, "w": 78, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0159.png", + "frame": { "x": 243, "y": 270, "w": 76, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 6, "w": 76, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 150 + }, + { + "filename": "0160.png", + "frame": { "x": 243, "y": 270, "w": 76, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 6, "w": 76, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0161.png", + "frame": { "x": 158, "y": 271, "w": 74, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 74, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 250 + }, + { + "filename": "0162.png", + "frame": { "x": 158, "y": 271, "w": 74, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 6, "w": 74, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0163.png", + "frame": { "x": 319, "y": 271, "w": 73, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 6, "w": 73, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 400 + }, + { + "filename": "0164.png", + "frame": { "x": 319, "y": 271, "w": 73, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 6, "w": 73, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0165.png", + "frame": { "x": 0, "y": 271, "w": 75, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 5, "w": 75, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0166.png", + "frame": { "x": 407, "y": 270, "w": 76, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 76, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0167.png", + "frame": { "x": 328, "y": 216, "w": 79, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 79, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0168.png", + "frame": { "x": 0, "y": 217, "w": 80, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 80, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0169.png", + "frame": { "x": 83, "y": 163, "w": 81, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 1, "w": 81, "h": 55 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0170.png", + "frame": { "x": 246, "y": 216, "w": 82, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 82, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0171.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0172.png", + "frame": { "x": 85, "y": 109, "w": 85, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 6, "w": 85, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0173.png", + "frame": { "x": 170, "y": 109, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0174.png", + "frame": { "x": 170, "y": 109, "w": 84, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 6, "w": 84, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 50 + }, + { + "filename": "0175.png", + "frame": { "x": 0, "y": 163, "w": 83, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 6, "w": 83, "h": 54 }, + "sourceSize": { "w": 87, "h": 60 }, + "duration": 300 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "844.png", + "format": "I8", + "size": { "w": 515, "h": 325 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/shiny/844.png b/public/images/pokemon/shiny/844.png index 91273e3172c..d1f9bd9efa8 100644 Binary files a/public/images/pokemon/shiny/844.png and b/public/images/pokemon/shiny/844.png differ diff --git a/public/images/pokemon/shiny/902-female.json b/public/images/pokemon/shiny/902-female.json index 33d636029a9..aec0bdbcc05 100644 --- a/public/images/pokemon/shiny/902-female.json +++ b/public/images/pokemon/shiny/902-female.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902-female.png", - "format": "RGBA8888", - "size": { - "w": 86, - "h": 86 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 86, - "h": 51 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 86, - "h": 51 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 51 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:dad3964d81332e0c087ab5f0cb6deb8b:32e49e3ce0a6dfd7f659f430e882003a:16072dc598107c41afadd9df4d7c27da$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 582, "y": 294, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 170, "y": 341, "w": 83, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 253, "y": 341, "w": 79, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 413, "y": 343, "w": 73, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 347, "y": 68, "w": 76, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 503, "y": 289, "w": 79, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 594, "y": 238, "w": 81, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 87, "y": 77, "w": 84, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 55 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 77, "y": 189, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 0, "y": 242, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 438, "y": 185, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 535, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 323, "y": 188, "w": 94, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 50 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 503, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 91, "y": 257, "w": 90, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 0, "y": 293, "w": 86, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 253, "y": 238, "w": 91, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 18, "w": 91, "h": 51 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 438, "y": 133, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 17, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 181, "y": 289, "w": 88, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 14, "w": 88, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 332, "y": 343, "w": 81, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 11, "w": 81, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 86, "y": 308, "w": 84, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 8, "w": 84, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 357, "y": 290, "w": 84, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 7, "w": 84, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 417, "y": 236, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 0, "y": 76, "w": 87, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 2, "w": 87, "h": 60 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 340, "y": 0, "w": 85, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 0, "w": 85, "h": 68 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 87, "y": 0, "w": 85, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 85, "h": 77 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 262, "y": 0, "w": 78, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 78, "h": 76 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 178, "y": 133, "w": 71, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 8, "w": 71, "h": 71 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 518, "y": 0, "w": 80, "h": 72 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 7, "w": 80, "h": 72 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 0, "w": 87, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 87, "h": 76 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 598, "y": 0, "w": 80, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 8, "w": 80, "h": 71 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 249, "y": 134, "w": 74, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 13, "w": 74, "h": 67 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 425, "y": 62, "w": 82, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 10, "w": 82, "h": 69 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 172, "y": 0, "w": 90, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 11, "w": 90, "h": 68 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 172, "y": 68, "w": 84, "h": 65 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 14, "w": 84, "h": 65 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 0, "y": 136, "w": 77, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 14, "w": 77, "h": 64 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 598, "y": 71, "w": 81, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 16, "w": 81, "h": 61 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 507, "y": 72, "w": 88, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 15, "w": 88, "h": 61 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 425, "y": 0, "w": 93, "h": 62 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 14, "w": 93, "h": 62 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 256, "y": 76, "w": 91, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 58 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 347, "y": 131, "w": 91, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 57 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 87, "y": 133, "w": 91, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 18, "w": 91, "h": 56 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 532, "y": 185, "w": 89, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 19, "w": 89, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 53 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 269, "y": 289, "w": 88, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 52 }, + "sourceSize": { "w": 110, "h": 85 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902-female.png", + "format": "I8", + "size": { "w": 679, "h": 399 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/shiny/902-female.png b/public/images/pokemon/shiny/902-female.png index 45d3f157f31..e6807b123b6 100644 Binary files a/public/images/pokemon/shiny/902-female.png and b/public/images/pokemon/shiny/902-female.png differ diff --git a/public/images/pokemon/shiny/902.json b/public/images/pokemon/shiny/902.json index a7ad9b6677a..2e788b240c8 100644 --- a/public/images/pokemon/shiny/902.json +++ b/public/images/pokemon/shiny/902.json @@ -1,41 +1,828 @@ -{ - "textures": [ - { - "image": "902.png", - "format": "RGBA8888", - "size": { - "w": 86, - "h": 86 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 86, - "h": 54 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 86, - "h": 54 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 54 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:f03a04a2fab39b77fb2f965828a1e018:c346d0483fc16c34aa0d7aa89d007f98:7d196ae78ad956c5eb9131e145b5922f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 510, "y": 305, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 0, "y": 306, "w": 83, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 83, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 422, "y": 353, "w": 79, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 21, "w": 79, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 257, "y": 356, "w": 73, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 22, "w": 73, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 596, "y": 305, "w": 76, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 23, "w": 76, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 178, "y": 298, "w": 79, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 25, "w": 79, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 257, "y": 298, "w": 81, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 28, "w": 81, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 594, "y": 194, "w": 84, "h": 57 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 30, "w": 84, "h": 57 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 165, "y": 204, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 31, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 74, "y": 199, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 29, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 409, "y": 190, "w": 94, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 28, "w": 94, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 448, "y": 138, "w": 97, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 26, "w": 97, "h": 52 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 497, "y": 248, "w": 94, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 25, "w": 94, "h": 51 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 253, "y": 245, "w": 91, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 22, "w": 91, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 0, "y": 253, "w": 90, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 21, "w": 90, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 424, "y": 299, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 19, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 503, "y": 194, "w": 91, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 18, "w": 91, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 351, "y": 136, "w": 97, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 17, "w": 97, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 591, "y": 251, "w": 88, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 14, "w": 88, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 167, "y": 358, "w": 81, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 11, "w": 81, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 338, "y": 352, "w": 84, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 8, "w": 84, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 83, "y": 313, "w": 84, "h": 53 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 7, "w": 84, "h": 53 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 338, "y": 298, "w": 86, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 6, "w": 86, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 586, "y": 134, "w": 87, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 2, "w": 87, "h": 60 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 513, "y": 0, "w": 85, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 16, "y": 0, "w": 85, "h": 70 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 87, "y": 0, "w": 85, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 0, "w": 85, "h": 80 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 262, "y": 0, "w": 78, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 78, "h": 79 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 91, "y": 80, "w": 71, "h": 74 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 8, "w": 71, "h": 74 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 340, "y": 0, "w": 80, "h": 75 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 7, "w": 80, "h": 75 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 0, "y": 0, "w": 87, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 87, "h": 79 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 598, "y": 0, "w": 80, "h": 73 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 8, "w": 80, "h": 73 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 0, "y": 138, "w": 74, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 13, "w": 74, "h": 69 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 420, "y": 64, "w": 82, "h": 72 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 10, "w": 82, "h": 72 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 172, "y": 0, "w": 90, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 11, "w": 90, "h": 71 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 502, "y": 70, "w": 84, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 14, "w": 84, "h": 68 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 243, "y": 138, "w": 77, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 14, "w": 77, "h": 66 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 162, "y": 135, "w": 81, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 16, "w": 81, "h": 64 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 172, "y": 71, "w": 88, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 15, "w": 88, "h": 64 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 420, "y": 0, "w": 93, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 14, "w": 93, "h": 64 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 586, "y": 73, "w": 91, "h": 61 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 61 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 260, "y": 79, "w": 91, "h": 59 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 17, "w": 91, "h": 59 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 0, "y": 80, "w": 91, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 18, "w": 91, "h": 58 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 320, "y": 189, "w": 89, "h": 56 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 19, "w": 89, "h": 56 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 409, "y": 243, "w": 88, "h": 55 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 55 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 90, "y": 259, "w": 88, "h": 54 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 19, "w": 88, "h": 54 }, + "sourceSize": { "w": 110, "h": 87 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "902.png", + "format": "I8", + "size": { "w": 679, "h": 415 }, + "scale": "1", + "frameTags": [ + ], + "layers": [ + { "name": "Layer", "opacity": 255, "blendMode": "normal" } + ], + "slices": [ + ] + } } diff --git a/public/images/pokemon/shiny/902.png b/public/images/pokemon/shiny/902.png index 32f71756ae2..11e26c7813f 100644 Binary files a/public/images/pokemon/shiny/902.png and b/public/images/pokemon/shiny/902.png differ diff --git a/public/images/pokemon/variant/_exp_masterlist.json b/public/images/pokemon/variant/_exp_masterlist.json index e2fe24007ff..1fd0fc183f5 100644 --- a/public/images/pokemon/variant/_exp_masterlist.json +++ b/public/images/pokemon/variant/_exp_masterlist.json @@ -132,7 +132,6 @@ "763": [0, 1, 1], "767": [0, 1, 1], "768": [0, 1, 1], - "770": [0, 0, 0], "771": [0, 2, 2], "772": [0, 1, 1], "773-fighting": [0, 1, 1], diff --git a/public/images/statuses_tl.png b/public/images/statuses_tl.png index 9f24c6a0810..cdec7a29e8b 100644 Binary files a/public/images/statuses_tl.png and b/public/images/statuses_tl.png differ diff --git a/public/images/trainer/aether_grunt_m.png b/public/images/trainer/aether_grunt_m.png index c61970f4c98..08ab681d2fc 100644 Binary files a/public/images/trainer/aether_grunt_m.png and b/public/images/trainer/aether_grunt_m.png differ diff --git a/public/images/trainer/allister.png b/public/images/trainer/allister.png index c29781660d1..7007a7365a9 100644 Binary files a/public/images/trainer/allister.png and b/public/images/trainer/allister.png differ diff --git a/public/images/trainer/aqua_grunt_m.png b/public/images/trainer/aqua_grunt_m.png index bddb6e9fa3c..771c88c9170 100644 Binary files a/public/images/trainer/aqua_grunt_m.png and b/public/images/trainer/aqua_grunt_m.png differ diff --git a/public/images/trainer/archie.png b/public/images/trainer/archie.png index 7b047322bfb..e684d847882 100644 Binary files a/public/images/trainer/archie.png and b/public/images/trainer/archie.png differ diff --git a/public/images/trainer/expert_pokemon_breeder.png b/public/images/trainer/expert_pokemon_breeder.png index 0c53da6f2dc..83e9bb99816 100644 Binary files a/public/images/trainer/expert_pokemon_breeder.png and b/public/images/trainer/expert_pokemon_breeder.png differ diff --git a/public/images/trainer/katy.png b/public/images/trainer/katy.png index 534abca0397..009293a8fc6 100644 Binary files a/public/images/trainer/katy.png and b/public/images/trainer/katy.png differ diff --git a/public/images/trainer/rocket_boss_giovanni_1.png b/public/images/trainer/rocket_boss_giovanni_1.png index 8adab2d0575..d7c2e0fe590 100644 Binary files a/public/images/trainer/rocket_boss_giovanni_1.png and b/public/images/trainer/rocket_boss_giovanni_1.png differ diff --git a/public/images/ui/boolean_sel.png b/public/images/ui/boolean_sel.png index 7f1c86fbb4d..020708801e0 100644 Binary files a/public/images/ui/boolean_sel.png and b/public/images/ui/boolean_sel.png differ diff --git a/public/images/ui/champion_ribbon.png b/public/images/ui/champion_ribbon.png index d70aa92daaf..a19bb01279b 100644 Binary files a/public/images/ui/champion_ribbon.png and b/public/images/ui/champion_ribbon.png differ diff --git a/public/images/ui/champion_ribbon_bronze.png b/public/images/ui/champion_ribbon_bronze.png index 8d92b6e0ab1..d30431fa015 100644 Binary files a/public/images/ui/champion_ribbon_bronze.png and b/public/images/ui/champion_ribbon_bronze.png differ diff --git a/public/images/ui/champion_ribbon_diamond.png b/public/images/ui/champion_ribbon_diamond.png index 9effbe3669c..0d469640529 100644 Binary files a/public/images/ui/champion_ribbon_diamond.png and b/public/images/ui/champion_ribbon_diamond.png differ diff --git a/public/images/ui/champion_ribbon_emerald.png b/public/images/ui/champion_ribbon_emerald.png new file mode 100644 index 00000000000..29a9503059d Binary files /dev/null and b/public/images/ui/champion_ribbon_emerald.png differ diff --git a/public/images/ui/champion_ribbon_silver.png b/public/images/ui/champion_ribbon_silver.png index c4dcd8d7be0..9cf7c40552f 100644 Binary files a/public/images/ui/champion_ribbon_silver.png and b/public/images/ui/champion_ribbon_silver.png differ diff --git a/public/images/ui/cursor.png b/public/images/ui/cursor.png index 0e2f9d98a16..961746a63db 100644 Binary files a/public/images/ui/cursor.png and b/public/images/ui/cursor.png differ diff --git a/public/images/ui/dawn_icon_fg.png b/public/images/ui/dawn_icon_fg.png index c64f0578073..30d793b509d 100644 Binary files a/public/images/ui/dawn_icon_fg.png and b/public/images/ui/dawn_icon_fg.png differ diff --git a/public/images/ui/day_icon_fg.png b/public/images/ui/day_icon_fg.png index a480e4d274d..24d470a70bc 100644 Binary files a/public/images/ui/day_icon_fg.png and b/public/images/ui/day_icon_fg.png differ diff --git a/public/images/ui/friendship_overlay.png b/public/images/ui/friendship_overlay.png index b6957ded371..8a7c2e55c38 100644 Binary files a/public/images/ui/friendship_overlay.png and b/public/images/ui/friendship_overlay.png differ diff --git a/public/images/ui/hall_of_fame_blue.png b/public/images/ui/hall_of_fame_blue.png index 2b799070cb1..4ef4e0bdeae 100644 Binary files a/public/images/ui/hall_of_fame_blue.png and b/public/images/ui/hall_of_fame_blue.png differ diff --git a/public/images/ui/hall_of_fame_red.png b/public/images/ui/hall_of_fame_red.png index df999ae631f..a7685d6cb71 100644 Binary files a/public/images/ui/hall_of_fame_red.png and b/public/images/ui/hall_of_fame_red.png differ diff --git a/public/images/ui/icon_egg_move.png b/public/images/ui/icon_egg_move.png index 3b79a6682d0..1356f6077b6 100644 Binary files a/public/images/ui/icon_egg_move.png and b/public/images/ui/icon_egg_move.png differ diff --git a/public/images/ui/legacy/champion_ribbon.png b/public/images/ui/legacy/champion_ribbon.png index d70aa92daaf..a19bb01279b 100644 Binary files a/public/images/ui/legacy/champion_ribbon.png and b/public/images/ui/legacy/champion_ribbon.png differ diff --git a/public/images/ui/legacy/champion_ribbon_bronze.png b/public/images/ui/legacy/champion_ribbon_bronze.png index 8d92b6e0ab1..d30431fa015 100644 Binary files a/public/images/ui/legacy/champion_ribbon_bronze.png and b/public/images/ui/legacy/champion_ribbon_bronze.png differ diff --git a/public/images/ui/legacy/champion_ribbon_diamond.png b/public/images/ui/legacy/champion_ribbon_diamond.png index 9effbe3669c..0d469640529 100644 Binary files a/public/images/ui/legacy/champion_ribbon_diamond.png and b/public/images/ui/legacy/champion_ribbon_diamond.png differ diff --git a/public/images/ui/legacy/champion_ribbon_emerald.png b/public/images/ui/legacy/champion_ribbon_emerald.png new file mode 100644 index 00000000000..29a9503059d Binary files /dev/null and b/public/images/ui/legacy/champion_ribbon_emerald.png differ diff --git a/public/images/ui/legacy/champion_ribbon_silver.png b/public/images/ui/legacy/champion_ribbon_silver.png index c4dcd8d7be0..9cf7c40552f 100644 Binary files a/public/images/ui/legacy/champion_ribbon_silver.png and b/public/images/ui/legacy/champion_ribbon_silver.png differ diff --git a/public/images/ui/legacy/cursor.png b/public/images/ui/legacy/cursor.png index deadae321e3..a2c271eebb2 100644 Binary files a/public/images/ui/legacy/cursor.png and b/public/images/ui/legacy/cursor.png differ diff --git a/public/images/ui/legacy/day_icon_fg.png b/public/images/ui/legacy/day_icon_fg.png index 79872f95202..a010c3ec9c4 100644 Binary files a/public/images/ui/legacy/day_icon_fg.png and b/public/images/ui/legacy/day_icon_fg.png differ diff --git a/public/images/ui/legacy/discord.png b/public/images/ui/legacy/discord.png index 1bb254b1594..e9acf219d3c 100644 Binary files a/public/images/ui/legacy/discord.png and b/public/images/ui/legacy/discord.png differ diff --git a/public/images/ui/legacy/friendship_overlay.png b/public/images/ui/legacy/friendship_overlay.png index b6957ded371..8a7c2e55c38 100644 Binary files a/public/images/ui/legacy/friendship_overlay.png and b/public/images/ui/legacy/friendship_overlay.png differ diff --git a/public/images/ui/legacy/hall_of_fame_blue.png b/public/images/ui/legacy/hall_of_fame_blue.png index 2b799070cb1..4ef4e0bdeae 100644 Binary files a/public/images/ui/legacy/hall_of_fame_blue.png and b/public/images/ui/legacy/hall_of_fame_blue.png differ diff --git a/public/images/ui/legacy/hall_of_fame_red.png b/public/images/ui/legacy/hall_of_fame_red.png index df999ae631f..a7685d6cb71 100644 Binary files a/public/images/ui/legacy/hall_of_fame_red.png and b/public/images/ui/legacy/hall_of_fame_red.png differ diff --git a/public/images/ui/legacy/icon_egg_move.png b/public/images/ui/legacy/icon_egg_move.png index 3b79a6682d0..1356f6077b6 100644 Binary files a/public/images/ui/legacy/icon_egg_move.png and b/public/images/ui/legacy/icon_egg_move.png differ diff --git a/public/images/ui/legacy/link_icon.png b/public/images/ui/legacy/link_icon.png index 1e20ab56ec7..faf3d64e752 100644 Binary files a/public/images/ui/legacy/link_icon.png and b/public/images/ui/legacy/link_icon.png differ diff --git a/public/images/ui/legacy/namebox.png b/public/images/ui/legacy/namebox.png index 5eea1504d77..766a07bdc2a 100644 Binary files a/public/images/ui/legacy/namebox.png and b/public/images/ui/legacy/namebox.png differ diff --git a/public/images/ui/legacy/overlay_hp.png b/public/images/ui/legacy/overlay_hp.png index 75607c199f5..56f9b50b734 100644 Binary files a/public/images/ui/legacy/overlay_hp.png and b/public/images/ui/legacy/overlay_hp.png differ diff --git a/public/images/ui/legacy/overlay_lv_alt.png b/public/images/ui/legacy/overlay_lv_alt.png index f7a76955e7b..92ec684bf75 100644 Binary files a/public/images/ui/legacy/overlay_lv_alt.png and b/public/images/ui/legacy/overlay_lv_alt.png differ diff --git a/public/images/ui/legacy/party_bg.png b/public/images/ui/legacy/party_bg.png index cdade735b4a..707db79f1e2 100644 Binary files a/public/images/ui/legacy/party_bg.png and b/public/images/ui/legacy/party_bg.png differ diff --git a/public/images/ui/legacy/party_bg_double.png b/public/images/ui/legacy/party_bg_double.png index 8e00bd6c293..3694e3edf3c 100644 Binary files a/public/images/ui/legacy/party_bg_double.png and b/public/images/ui/legacy/party_bg_double.png differ diff --git a/public/images/ui/legacy/party_bg_double_manage.png b/public/images/ui/legacy/party_bg_double_manage.png index 2bf2d63c315..d3954fc14ff 100644 Binary files a/public/images/ui/legacy/party_bg_double_manage.png and b/public/images/ui/legacy/party_bg_double_manage.png differ diff --git a/public/images/ui/legacy/party_slot_hp_overlay.png b/public/images/ui/legacy/party_slot_hp_overlay.png index 859adab148c..4f79d34c702 100644 Binary files a/public/images/ui/legacy/party_slot_hp_overlay.png and b/public/images/ui/legacy/party_slot_hp_overlay.png differ diff --git a/public/images/ui/legacy/party_slot_main_short.json b/public/images/ui/legacy/party_slot_main_short.json new file mode 100644 index 00000000000..d738d524a5b --- /dev/null +++ b/public/images/ui/legacy/party_slot_main_short.json @@ -0,0 +1,146 @@ +{ + "textures": [ + { + "image": "party_slot_main_short.png", + "format": "RGBA8888", + "size": { + "w": 110, + "h": 294 + }, + "scale": 1, + "frames": [ + { + "filename": "party_slot_main_short", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 41, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_fnt", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 82, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_fnt_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 123, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_swap", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 164, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_swap_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 205, + "w": 110, + "h": 41 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:29685f2f538901cf5bf7f0ed2ea867c3:a080ea6c8cccd1e03244214053e79796:565f7afc5ca419b6ba8dbce51ea30818$" + } +} diff --git a/public/images/ui/legacy/party_slot_main_short.png b/public/images/ui/legacy/party_slot_main_short.png new file mode 100644 index 00000000000..54af35bd69c Binary files /dev/null and b/public/images/ui/legacy/party_slot_main_short.png differ diff --git a/public/images/ui/legacy/party_slot_overlay_lv_alt.png b/public/images/ui/legacy/party_slot_overlay_lv_alt.png index 387dfec6b22..7aa9a590a13 100644 Binary files a/public/images/ui/legacy/party_slot_overlay_lv_alt.png and b/public/images/ui/legacy/party_slot_overlay_lv_alt.png differ diff --git a/public/images/ui/legacy/passive_bg.png b/public/images/ui/legacy/passive_bg.png index 4a3fa1ec72b..8f89bfc29a2 100644 Binary files a/public/images/ui/legacy/passive_bg.png and b/public/images/ui/legacy/passive_bg.png differ diff --git a/public/images/ui/legacy/pb_tray_overlay_enemy.png b/public/images/ui/legacy/pb_tray_overlay_enemy.png index 86ac85f946f..70940db1c58 100644 Binary files a/public/images/ui/legacy/pb_tray_overlay_enemy.png and b/public/images/ui/legacy/pb_tray_overlay_enemy.png differ diff --git a/public/images/ui/legacy/pbinfo_enemy_type.png b/public/images/ui/legacy/pbinfo_enemy_type.png index 27cb481e861..8d3b956bb98 100644 Binary files a/public/images/ui/legacy/pbinfo_enemy_type.png and b/public/images/ui/legacy/pbinfo_enemy_type.png differ diff --git a/public/images/ui/legacy/pbinfo_enemy_type1.png b/public/images/ui/legacy/pbinfo_enemy_type1.png index df44b5bad5d..9e547234391 100644 Binary files a/public/images/ui/legacy/pbinfo_enemy_type1.png and b/public/images/ui/legacy/pbinfo_enemy_type1.png differ diff --git a/public/images/ui/legacy/pbinfo_enemy_type2.png b/public/images/ui/legacy/pbinfo_enemy_type2.png index df44b5bad5d..9e547234391 100644 Binary files a/public/images/ui/legacy/pbinfo_enemy_type2.png and b/public/images/ui/legacy/pbinfo_enemy_type2.png differ diff --git a/public/images/ui/legacy/pbinfo_player_type1.png b/public/images/ui/legacy/pbinfo_player_type1.png index df44b5bad5d..9e547234391 100644 Binary files a/public/images/ui/legacy/pbinfo_player_type1.png and b/public/images/ui/legacy/pbinfo_player_type1.png differ diff --git a/public/images/ui/legacy/pbinfo_player_type2.png b/public/images/ui/legacy/pbinfo_player_type2.png index df44b5bad5d..9e547234391 100644 Binary files a/public/images/ui/legacy/pbinfo_player_type2.png and b/public/images/ui/legacy/pbinfo_player_type2.png differ diff --git a/public/images/ui/legacy/pokedex_summary_bg.png b/public/images/ui/legacy/pokedex_summary_bg.png index 7323f99a913..0f8fed843c9 100644 Binary files a/public/images/ui/legacy/pokedex_summary_bg.png and b/public/images/ui/legacy/pokedex_summary_bg.png differ diff --git a/public/images/ui/legacy/prompt.png b/public/images/ui/legacy/prompt.png index d70362d1958..7781688f0ee 100644 Binary files a/public/images/ui/legacy/prompt.png and b/public/images/ui/legacy/prompt.png differ diff --git a/public/images/ui/legacy/saving_icon.png b/public/images/ui/legacy/saving_icon.png index 772fa91fb8c..02509d0e40c 100644 Binary files a/public/images/ui/legacy/saving_icon.png and b/public/images/ui/legacy/saving_icon.png differ diff --git a/public/images/ui/legacy/shiny.png b/public/images/ui/legacy/shiny.png index 362f8f48ff1..bc2a6c0d916 100644 Binary files a/public/images/ui/legacy/shiny.png and b/public/images/ui/legacy/shiny.png differ diff --git a/public/images/ui/legacy/summary_bg.png b/public/images/ui/legacy/summary_bg.png index 261b4974fb7..668a7438bf0 100644 Binary files a/public/images/ui/legacy/summary_bg.png and b/public/images/ui/legacy/summary_bg.png differ diff --git a/public/images/ui/legacy/summary_moves_cursor.png b/public/images/ui/legacy/summary_moves_cursor.png index 7375cedcdf6..6a17bccdffd 100644 Binary files a/public/images/ui/legacy/summary_moves_cursor.png and b/public/images/ui/legacy/summary_moves_cursor.png differ diff --git a/public/images/ui/legacy/summary_profile.png b/public/images/ui/legacy/summary_profile.png index 0b5b2ffec05..d8cfebb000e 100644 Binary files a/public/images/ui/legacy/summary_profile.png and b/public/images/ui/legacy/summary_profile.png differ diff --git a/public/images/ui/legacy/summary_profile_ability.png b/public/images/ui/legacy/summary_profile_ability.png index a803323564b..f839a6249f8 100644 Binary files a/public/images/ui/legacy/summary_profile_ability.png and b/public/images/ui/legacy/summary_profile_ability.png differ diff --git a/public/images/ui/legacy/summary_stats.png b/public/images/ui/legacy/summary_stats.png index 660fbee6df6..1da361f6157 100644 Binary files a/public/images/ui/legacy/summary_stats.png and b/public/images/ui/legacy/summary_stats.png differ diff --git a/public/images/ui/link_icon.png b/public/images/ui/link_icon.png index 1e20ab56ec7..faf3d64e752 100644 Binary files a/public/images/ui/link_icon.png and b/public/images/ui/link_icon.png differ diff --git a/public/images/ui/night_icon_fg.png b/public/images/ui/night_icon_fg.png index ef184e24435..9c173eeaa83 100644 Binary files a/public/images/ui/night_icon_fg.png 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 index f808e50b2c7..94b3529030c 100644 Binary files a/public/images/ui/night_icon_mg.png and b/public/images/ui/night_icon_mg.png differ diff --git a/public/images/ui/overlay_hp.png b/public/images/ui/overlay_hp.png index 9612ed8c4c2..8654174a2f1 100644 Binary files a/public/images/ui/overlay_hp.png and b/public/images/ui/overlay_hp.png differ diff --git a/public/images/ui/overlay_hp_boss.png b/public/images/ui/overlay_hp_boss.png index 5a011709e0c..215c3ff1158 100644 Binary files a/public/images/ui/overlay_hp_boss.png and b/public/images/ui/overlay_hp_boss.png differ diff --git a/public/images/ui/overlay_lv.png b/public/images/ui/overlay_lv.png index ee3f439f7be..6ced2da2660 100644 Binary files a/public/images/ui/overlay_lv.png and b/public/images/ui/overlay_lv.png differ diff --git a/public/images/ui/party_bg_double.png b/public/images/ui/party_bg_double.png index c4d381d828c..61cacc222d4 100644 Binary files a/public/images/ui/party_bg_double.png and b/public/images/ui/party_bg_double.png differ diff --git a/public/images/ui/party_bg_double_manage.png b/public/images/ui/party_bg_double_manage.png index e85413b5fb5..f1561422867 100644 Binary files a/public/images/ui/party_bg_double_manage.png and b/public/images/ui/party_bg_double_manage.png differ diff --git a/public/images/ui/party_slot_hp_bar.png b/public/images/ui/party_slot_hp_bar.png index 5381fe0a0b6..181bd04c0ea 100644 Binary files a/public/images/ui/party_slot_hp_bar.png and b/public/images/ui/party_slot_hp_bar.png differ diff --git a/public/images/ui/party_slot_main_short.json b/public/images/ui/party_slot_main_short.json new file mode 100644 index 00000000000..d738d524a5b --- /dev/null +++ b/public/images/ui/party_slot_main_short.json @@ -0,0 +1,146 @@ +{ + "textures": [ + { + "image": "party_slot_main_short.png", + "format": "RGBA8888", + "size": { + "w": 110, + "h": 294 + }, + "scale": 1, + "frames": [ + { + "filename": "party_slot_main_short", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 41, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_fnt", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 82, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_fnt_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 123, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_swap", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 164, + "w": 110, + "h": 41 + } + }, + { + "filename": "party_slot_main_short_swap_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 110, + "h": 41 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 110, + "h": 41 + }, + "frame": { + "x": 0, + "y": 205, + "w": 110, + "h": 41 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:29685f2f538901cf5bf7f0ed2ea867c3:a080ea6c8cccd1e03244214053e79796:565f7afc5ca419b6ba8dbce51ea30818$" + } +} diff --git a/public/images/ui/party_slot_main_short.png b/public/images/ui/party_slot_main_short.png new file mode 100644 index 00000000000..4a4ef9ae937 Binary files /dev/null and b/public/images/ui/party_slot_main_short.png differ diff --git a/public/images/ui/party_slot_overlay_lv.png b/public/images/ui/party_slot_overlay_lv.png index 3d7dafd6737..122d3f7151c 100644 Binary files a/public/images/ui/party_slot_overlay_lv.png and b/public/images/ui/party_slot_overlay_lv.png differ diff --git a/public/images/ui/passive_bg.png b/public/images/ui/passive_bg.png index 4a3fa1ec72b..8f89bfc29a2 100644 Binary files a/public/images/ui/passive_bg.png and b/public/images/ui/passive_bg.png differ diff --git a/public/images/ui/pbinfo_enemy_type1.png b/public/images/ui/pbinfo_enemy_type1.png index be28e1d2c65..bb0c37430ad 100644 Binary files a/public/images/ui/pbinfo_enemy_type1.png and b/public/images/ui/pbinfo_enemy_type1.png differ diff --git a/public/images/ui/pbinfo_player_type2.png b/public/images/ui/pbinfo_player_type2.png index be28e1d2c65..bb0c37430ad 100644 Binary files a/public/images/ui/pbinfo_player_type2.png and b/public/images/ui/pbinfo_player_type2.png differ diff --git a/public/images/ui/prompt.png b/public/images/ui/prompt.png index c045c5e91fe..06e1bce26e6 100644 Binary files a/public/images/ui/prompt.png and b/public/images/ui/prompt.png differ diff --git a/public/images/ui/saving_icon.png b/public/images/ui/saving_icon.png index 772fa91fb8c..02509d0e40c 100644 Binary files a/public/images/ui/saving_icon.png and b/public/images/ui/saving_icon.png differ diff --git a/public/images/ui/select_gen_cursor.png b/public/images/ui/select_gen_cursor.png index 7f1c86fbb4d..020708801e0 100644 Binary files a/public/images/ui/select_gen_cursor.png and b/public/images/ui/select_gen_cursor.png differ diff --git a/public/images/ui/select_gen_cursor_highlight.png b/public/images/ui/select_gen_cursor_highlight.png index cecc543ae56..76607a6cd62 100644 Binary files a/public/images/ui/select_gen_cursor_highlight.png and b/public/images/ui/select_gen_cursor_highlight.png differ diff --git a/public/images/ui/shiny.png b/public/images/ui/shiny.png index 362f8f48ff1..bc2a6c0d916 100644 Binary files a/public/images/ui/shiny.png and b/public/images/ui/shiny.png differ diff --git a/public/images/ui/summary_profile_ability.png b/public/images/ui/summary_profile_ability.png index a803323564b..f839a6249f8 100644 Binary files a/public/images/ui/summary_profile_ability.png and b/public/images/ui/summary_profile_ability.png differ diff --git a/public/locales b/public/locales index ab2716d5440..17b353bd575 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit ab2716d5440c25f73986664aa3f3131821c3c392 +Subproject commit 17b353bd5752b7ce5c9e7051a17ec310e0b99c1e diff --git a/src/@types/dex-data.ts b/src/@types/dex-data.ts index 88cc16886bd..005e8034b18 100644 --- a/src/@types/dex-data.ts +++ b/src/@types/dex-data.ts @@ -1,3 +1,5 @@ +import type { RibbonData } from "#system/ribbons/ribbon-data"; + export interface DexData { [key: number]: DexEntry; } @@ -10,4 +12,5 @@ export interface DexEntry { caughtCount: number; hatchedCount: number; ivs: number[]; + ribbons: RibbonData; } diff --git a/src/@types/helpers/type-helpers.ts b/src/@types/helpers/type-helpers.ts index 7ad20b88956..0be391aa3c4 100644 --- a/src/@types/helpers/type-helpers.ts +++ b/src/@types/helpers/type-helpers.ts @@ -103,3 +103,12 @@ export type CoerceNullPropertiesToUndefined = { * @typeParam T - The type to render partial */ export type AtLeastOne = Partial & ObjectValues<{ [K in keyof T]: Pick, K> }>; + +/** Type helper that adds a brand to a type, used for nominal typing. + * + * @remarks + * Brands should be either a string or unique symbol. This prevents overlap with other types. + */ +export declare class Brander { + private __brand: B; +} diff --git a/src/@types/move-types.ts b/src/@types/move-types.ts index ff44c665e48..1def61f1329 100644 --- a/src/@types/move-types.ts +++ b/src/@types/move-types.ts @@ -1,13 +1,24 @@ +import type { Pokemon } from "#field/pokemon"; import type { AttackMove, ChargingAttackMove, ChargingSelfStatusMove, + Move, MoveAttr, MoveAttrConstructorMap, SelfStatusMove, StatusMove, } from "#moves/move"; +/** + * A generic function producing a message during a Move's execution. + * @param user - The {@linkcode Pokemon} using the move + * @param target - The {@linkcode Pokemon} targeted by the move + * @param move - The {@linkcode Move} being used + * @returns a string + */ +export type MoveMessageFunc = (user: Pokemon, target: Pokemon, move: Move) => string; + export type MoveAttrFilter = (attr: MoveAttr) => boolean; export type * from "#moves/move"; diff --git a/src/account.ts b/src/account.ts index b01691ce940..c97721889ae 100644 --- a/src/account.ts +++ b/src/account.ts @@ -17,45 +17,42 @@ export function initLoggedInUser(): void { }; } -export function updateUserInfo(): Promise<[boolean, number]> { - return new Promise<[boolean, number]>(resolve => { - if (bypassLogin) { - loggedInUser = { - username: "Guest", - lastSessionSlot: -1, - discordId: "", - googleId: "", - hasAdminRole: false, - }; - let lastSessionSlot = -1; - for (let s = 0; s < 5; s++) { - if (localStorage.getItem(`sessionData${s ? s : ""}_${loggedInUser.username}`)) { - lastSessionSlot = s; - break; - } +export async function updateUserInfo(): Promise<[boolean, number]> { + if (bypassLogin) { + loggedInUser = { + username: "Guest", + lastSessionSlot: -1, + discordId: "", + googleId: "", + hasAdminRole: false, + }; + let lastSessionSlot = -1; + for (let s = 0; s < 5; s++) { + if (localStorage.getItem(`sessionData${s ? s : ""}_${loggedInUser.username}`)) { + lastSessionSlot = s; + break; } - loggedInUser.lastSessionSlot = lastSessionSlot; - // Migrate old data from before the username was appended - ["data", "sessionData", "sessionData1", "sessionData2", "sessionData3", "sessionData4"].map(d => { - const lsItem = localStorage.getItem(d); - if (lsItem && !!loggedInUser?.username) { - const lsUserItem = localStorage.getItem(`${d}_${loggedInUser.username}`); - if (lsUserItem) { - localStorage.setItem(`${d}_${loggedInUser.username}_bak`, lsUserItem); - } - localStorage.setItem(`${d}_${loggedInUser.username}`, lsItem); - localStorage.removeItem(d); - } - }); - return resolve([true, 200]); } - pokerogueApi.account.getInfo().then(([accountInfo, status]) => { - if (!accountInfo) { - resolve([false, status]); - return; + loggedInUser.lastSessionSlot = lastSessionSlot; + // Migrate old data from before the username was appended + ["data", "sessionData", "sessionData1", "sessionData2", "sessionData3", "sessionData4"].forEach(d => { + const lsItem = localStorage.getItem(d); + if (lsItem && !!loggedInUser?.username) { + const lsUserItem = localStorage.getItem(`${d}_${loggedInUser.username}`); + if (lsUserItem) { + localStorage.setItem(`${d}_${loggedInUser.username}_bak`, lsUserItem); + } + localStorage.setItem(`${d}_${loggedInUser.username}`, lsItem); + localStorage.removeItem(d); } - loggedInUser = accountInfo; - resolve([true, 200]); }); - }); + return [true, 200]; + } + + const [accountInfo, status] = await pokerogueApi.account.getInfo(); + if (!accountInfo) { + return [false, status]; + } + loggedInUser = accountInfo; + return [true, 200]; } diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 271cde1aaa9..4d3f190c02a 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -27,13 +27,7 @@ import { UiInputs } from "#app/ui-inputs"; import { biomeDepths, getBiomeName } from "#balance/biomes"; import { pokemonPrevolutions } from "#balance/pokemon-evolutions"; import { FRIENDSHIP_GAIN_FROM_BATTLE } from "#balance/starters"; -import { - initCommonAnims, - initMoveAnim, - loadCommonAnimAssets, - loadMoveAnimAssets, - populateAnims, -} from "#data/battle-anims"; +import { initCommonAnims, initMoveAnim, loadCommonAnimAssets, loadMoveAnimAssets } from "#data/battle-anims"; import { allAbilities, allMoves, allSpecies, modifierTypes } from "#data/data-lists"; import { battleSpecDialogue } from "#data/dialogue"; import type { SpeciesFormChangeTrigger } from "#data/form-change-triggers"; @@ -104,6 +98,7 @@ import { getLuckString, getLuckTextTint, getPartyLuckValue, + type ModifierType, PokemonHeldItemModifierType, } from "#modifiers/modifier-type"; import { MysteryEncounter } from "#mystery-encounters/mystery-encounter"; @@ -387,7 +382,6 @@ export class BattleScene extends SceneBase { const defaultMoves = [MoveId.TACKLE, MoveId.TAIL_WHIP, MoveId.FOCUS_ENERGY, MoveId.STRUGGLE]; await Promise.all([ - populateAnims(), this.initVariantData(), initCommonAnims().then(() => loadCommonAnimAssets(true)), Promise.all(defaultMoves.map(m => initMoveAnim(m))).then(() => loadMoveAnimAssets(defaultMoves, true)), @@ -943,17 +937,17 @@ export class BattleScene extends SceneBase { dataSource?: PokemonData, postProcess?: (enemyPokemon: EnemyPokemon) => void, ): EnemyPokemon { - if (Overrides.OPP_LEVEL_OVERRIDE > 0) { - level = Overrides.OPP_LEVEL_OVERRIDE; + if (Overrides.ENEMY_LEVEL_OVERRIDE > 0) { + level = Overrides.ENEMY_LEVEL_OVERRIDE; } - if (Overrides.OPP_SPECIES_OVERRIDE) { - species = getPokemonSpecies(Overrides.OPP_SPECIES_OVERRIDE); + if (Overrides.ENEMY_SPECIES_OVERRIDE) { + species = getPokemonSpecies(Overrides.ENEMY_SPECIES_OVERRIDE); // The fact that a Pokemon is a boss or not can change based on its Species and level boss = this.getEncounterBossSegments(this.currentBattle.waveIndex, level, species) > 1; } const pokemon = new EnemyPokemon(species, level, trainerSlot, boss, shinyLock, dataSource); - if (Overrides.OPP_FUSION_OVERRIDE) { + if (Overrides.ENEMY_FUSION_OVERRIDE) { pokemon.generateFusionSpecies(); } @@ -1203,7 +1197,9 @@ export class BattleScene extends SceneBase { this.updateScoreText(); this.scoreText.setVisible(false); - [this.luckLabelText, this.luckText].map(t => t.setVisible(false)); + [this.luckLabelText, this.luckText].forEach(t => { + t.setVisible(false); + }); this.newArena(Overrides.STARTING_BIOME_OVERRIDE || BiomeId.TOWN); @@ -1237,8 +1233,7 @@ export class BattleScene extends SceneBase { Object.values(mp) .flat() .map(mt => mt.modifierType) - .filter(mt => "localize" in mt) - .map(lpb => lpb as unknown as Localizable), + .filter((mt): mt is ModifierType & Localizable => "localize" in mt && typeof mt.localize === "function"), ), ]; for (const item of localizable) { @@ -1513,8 +1508,8 @@ export class BattleScene extends SceneBase { return this.currentBattle; } - newArena(biome: BiomeId, playerFaints?: number): Arena { - this.arena = new Arena(biome, BiomeId[biome].toLowerCase(), playerFaints); + newArena(biome: BiomeId, playerFaints = 0): Arena { + this.arena = new Arena(biome, playerFaints); this.eventTarget.dispatchEvent(new NewArenaEvent()); this.arenaBg.pipelineData = { @@ -1764,10 +1759,10 @@ export class BattleScene extends SceneBase { } getEncounterBossSegments(waveIndex: number, level: number, species?: PokemonSpecies, forceBoss = false): number { - if (Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE > 1) { - return Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE; + if (Overrides.ENEMY_HEALTH_SEGMENTS_OVERRIDE > 1) { + return Overrides.ENEMY_HEALTH_SEGMENTS_OVERRIDE; } - if (Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE === 1) { + if (Overrides.ENEMY_HEALTH_SEGMENTS_OVERRIDE === 1) { // The rest of the code expects to be returned 0 and not 1 if the enemy is not a boss return 0; } @@ -2711,7 +2706,9 @@ export class BattleScene extends SceneBase { } } - this.party.map(p => p.updateInfo(instant)); + this.party.forEach(p => { + p.updateInfo(instant); + }); } else { const args = [this]; if (modifier.shouldApply(...args)) { diff --git a/src/constants.ts b/src/constants.ts index 6f9f4a6d2fb..17cf08aa7e2 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -101,3 +101,9 @@ export const ANTI_VARIANCE_WEIGHT_MODIFIER = 15; * Default: `10000` (0.01%) */ export const FAKE_TITLE_LOGO_CHANCE = 10000; + +/** + * The ceiling on friendship amount that can be reached through the use of rare candies. + * Using rare candies will never increase friendship beyond this value. + */ +export const RARE_CANDY_FRIENDSHIP_CAP = 200; diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index f5fd9b19f72..199e0af3efb 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -74,6 +74,7 @@ import { randSeedItem, toDmgValue, } from "#utils/common"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; export class Ability implements Localizable { @@ -109,13 +110,9 @@ export class Ability implements Localizable { } localize(): void { - const i18nKey = AbilityId[this.id] - .split("_") - .filter(f => f) - .map((f, i) => (i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase())) - .join("") as string; + const i18nKey = toCamelCase(AbilityId[this.id]); - this.name = this.id ? `${i18next.t(`ability:${i18nKey}.name`) as string}${this.nameAppend}` : ""; + this.name = this.id ? `${i18next.t(`ability:${i18nKey}.name`)}${this.nameAppend}` : ""; this.description = this.id ? (i18next.t(`ability:${i18nKey}.description`) as string) : ""; } @@ -1187,7 +1184,7 @@ export class PostDefendTypeChangeAbAttr extends PostDefendAbAttr { return i18next.t("abilityTriggers:postDefendTypeChange", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName, - typeName: i18next.t(`pokemonInfo:Type.${PokemonType[this.type]}`), + typeName: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.type])}`), }); } } @@ -1670,6 +1667,7 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr { constructor( private newType: PokemonType, private powerMultiplier: number, + // TODO: all moves with this attr solely check the move being used... private condition?: PokemonAttackCondition, ) { super(false); @@ -1751,7 +1749,7 @@ export class PokemonTypeChangeAbAttr extends PreAttackAbAttr { getTriggerMessage({ pokemon }: AugmentMoveInteractionAbAttrParams, _abilityName: string): string { return i18next.t("abilityTriggers:pokemonTypeChange", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - moveType: i18next.t(`pokemonInfo:Type.${PokemonType[this.moveType]}`), + moveType: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.moveType])}`), }); } } @@ -6224,7 +6222,9 @@ export class TerrainEventTypeChangeAbAttr extends PostSummonAbAttr { if (currentTerrain === TerrainType.NONE) { return i18next.t("abilityTriggers:pokemonTypeChangeRevert", { pokemonNameWithAffix }); } - const moveType = i18next.t(`pokemonInfo:Type.${PokemonType[this.determineTypeChange(pokemon, currentTerrain)[0]]}`); + const moveType = i18next.t( + `pokemonInfo:type.${toCamelCase(PokemonType[this.determineTypeChange(pokemon, currentTerrain)[0]])}`, + ); return i18next.t("abilityTriggers:pokemonTypeChange", { pokemonNameWithAffix, moveType }); } } diff --git a/src/data/balance/biomes.ts b/src/data/balance/biomes.ts index d8297636393..c0c57cb15fb 100644 --- a/src/data/balance/biomes.ts +++ b/src/data/balance/biomes.ts @@ -7,6 +7,7 @@ import { TimeOfDay } from "#enums/time-of-day"; import { TrainerType } from "#enums/trainer-type"; import { randSeedInt } from "#utils/common"; import { getEnumValues } from "#utils/enums"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; export function getBiomeName(biome: BiomeId | -1) { @@ -15,13 +16,13 @@ export function getBiomeName(biome: BiomeId | -1) { } switch (biome) { case BiomeId.GRASS: - return i18next.t("biome:GRASS"); + return i18next.t("biome:grass"); case BiomeId.RUINS: - return i18next.t("biome:RUINS"); + return i18next.t("biome:ruins"); case BiomeId.END: - return i18next.t("biome:END"); + return i18next.t("biome:end"); default: - return i18next.t(`biome:${BiomeId[biome].toUpperCase()}`); + return i18next.t(`biome:${toCamelCase(BiomeId[biome])}`); } } diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index ab535682e86..a09c1e38eff 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -15,6 +15,7 @@ import type { Pokemon } from "#field/pokemon"; import type { SpeciesStatBoosterItem, SpeciesStatBoosterModifierType } from "#modifiers/modifier-type"; import { coerceArray, isNullOrUndefined, randSeedInt } from "#utils/common"; import { getPokemonSpecies } from "#utils/pokemon-utils"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; export enum SpeciesWildEvolutionDelay { @@ -133,11 +134,11 @@ export class SpeciesEvolutionCondition { case EvoCondKey.FRIENDSHIP: return i18next.t("pokemonEvolutions:friendship"); case EvoCondKey.TIME: - return i18next.t(`pokemonEvolutions:timeOfDay.${TimeOfDay[cond.time[cond.time.length - 1]]}`); // For Day and Night evos, the key we want goes last + return i18next.t(`pokemonEvolutions:timeOfDay.${toCamelCase(TimeOfDay[cond.time[cond.time.length - 1]])}`); // For Day and Night evos, the key we want goes last case EvoCondKey.MOVE_TYPE: - return i18next.t("pokemonEvolutions:moveType", {type: i18next.t(`pokemonInfo:Type.${PokemonType[cond.pkmnType]}`)}); + return i18next.t("pokemonEvolutions:moveType", {type: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[cond.pkmnType])}`)}); case EvoCondKey.PARTY_TYPE: - return i18next.t("pokemonEvolutions:partyType", {type: i18next.t(`pokemonInfo:Type.${PokemonType[cond.pkmnType]}`)}); + return i18next.t("pokemonEvolutions:partyType", {type: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[cond.pkmnType])}`)}); case EvoCondKey.GENDER: return i18next.t("pokemonEvolutions:gender", {gender: getGenderSymbol(cond.gender)}); case EvoCondKey.MOVE: @@ -156,7 +157,7 @@ export class SpeciesEvolutionCondition { case EvoCondKey.SPECIES_CAUGHT: return i18next.t("pokemonEvolutions:caught", {species: getPokemonSpecies(cond.speciesCaught).name}); case EvoCondKey.HELD_ITEM: - return i18next.t(`pokemonEvolutions:heldItem.${cond.itemKey}`); + return i18next.t(`pokemonEvolutions:heldItem.${toCamelCase(cond.itemKey)}`); } }).filter(s => !isNullOrUndefined(s)); // Filter out stringless conditions return this.desc; @@ -245,7 +246,7 @@ export class SpeciesFormEvolution { } if (this.item) { const itemDescription = i18next.t(`modifierType:EvolutionItem.${EvolutionItem[this.item].toUpperCase()}`); - const rarity = this.item > 50 ? i18next.t("pokemonEvolutions:ULTRA") : i18next.t("pokemonEvolutions:GREAT"); + const rarity = this.item > 50 ? i18next.t("pokemonEvolutions:ultra") : i18next.t("pokemonEvolutions:great"); strings.push(i18next.t("pokemonEvolutions:using", {item: itemDescription, tier: rarity})); } if (this.condition) { @@ -1866,17 +1867,16 @@ interface PokemonPrevolutions { export const pokemonPrevolutions: PokemonPrevolutions = {}; export function initPokemonPrevolutions(): void { - const megaFormKeys = [ SpeciesFormKey.MEGA, "", SpeciesFormKey.MEGA_X, "", SpeciesFormKey.MEGA_Y ].map(sfk => sfk as string); - const prevolutionKeys = Object.keys(pokemonEvolutions); - prevolutionKeys.forEach(pk => { - const evolutions = pokemonEvolutions[pk]; + // TODO: Why do we have empty strings in our array? + const megaFormKeys = [ SpeciesFormKey.MEGA, "", SpeciesFormKey.MEGA_X, "", SpeciesFormKey.MEGA_Y ]; + for (const [pk, evolutions] of Object.entries(pokemonEvolutions)) { for (const ev of evolutions) { if (ev.evoFormKey && megaFormKeys.indexOf(ev.evoFormKey) > -1) { continue; } pokemonPrevolutions[ev.speciesId] = Number.parseInt(pk) as SpeciesId; } - }); + } } diff --git a/src/data/balance/pokemon-species.ts b/src/data/balance/pokemon-species.ts index 13269308958..c6c17986257 100644 --- a/src/data/balance/pokemon-species.ts +++ b/src/data/balance/pokemon-species.ts @@ -1505,9 +1505,9 @@ export function initSpecies() { new PokemonForm("Hero of Many Battles", "hero-of-many-battles", PokemonType.FIGHTING, null, 2.9, 210, AbilityId.DAUNTLESS_SHIELD, AbilityId.NONE, AbilityId.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, false, "", true), new PokemonForm("Crowned", "crowned", PokemonType.FIGHTING, PokemonType.STEEL, 2.9, 785, AbilityId.DAUNTLESS_SHIELD, AbilityId.NONE, AbilityId.NONE, 700, 92, 120, 140, 80, 140, 128, 10, 0, 360) ), - new PokemonSpecies(SpeciesId.ETERNATUS, 8, false, true, false, "Gigantic Pokémon", PokemonType.POISON, PokemonType.DRAGON, 20, 950, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.POISON, PokemonType.DRAGON, 20, 950, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, false, null, true), - new PokemonForm("E-Max", "eternamax", PokemonType.POISON, PokemonType.DRAGON, 100, 999.9, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 1125, 255, 115, 250, 125, 250, 130, 255, 0, 345) + new PokemonSpecies(SpeciesId.ETERNATUS, 8, false, true, false, "Gigantic Pokémon", PokemonType.POISON, PokemonType.DRAGON, 20, 950, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 690, 140, 85, 95, 145, 95, 130, 45, 0, 345, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.POISON, PokemonType.DRAGON, 20, 950, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 690, 140, 85, 95, 145, 95, 130, 45, 0, 345, false, null, true), + new PokemonForm("E-Max", "eternamax", PokemonType.POISON, PokemonType.DRAGON, 100, 999.9, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 1125, 255, 115, 250, 125, 250, 130, 45, 0, 345) ), new PokemonSpecies(SpeciesId.KUBFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, null, 0.6, 12, AbilityId.INNER_FOCUS, AbilityId.NONE, AbilityId.NONE, 385, 60, 90, 60, 53, 50, 72, 3, 50, 77, GrowthRate.SLOW, 87.5, false), new PokemonSpecies(SpeciesId.URSHIFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, GrowthRate.SLOW, 87.5, false, true, diff --git a/src/data/balance/tms.ts b/src/data/balance/tms.ts index e194dc4040c..bd7cf401ad1 100644 --- a/src/data/balance/tms.ts +++ b/src/data/balance/tms.ts @@ -45736,6 +45736,285 @@ export const tmSpecies: TmSpecies = { SpeciesId.HISUI_ARCANINE, SpeciesId.HISUI_AVALUGG, ], + [MoveId.SHOCK_WAVE]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.ELECTABUZZ, + SpeciesId.TAUROS, + SpeciesId.LAPRAS, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.ZAPDOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.AIPOM, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.ELEKID, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.ZANGOOSE, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.EMOLGA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.ZYGARDE, + SpeciesId.HOOPA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.DRAMPA, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.TOXTRICITY, + SpeciesId.MR_RIME, + SpeciesId.REGIELEKI, + SpeciesId.WYRDEER, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.MIRAIDON, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + ], [MoveId.WATER_PULSE]: [ SpeciesId.SQUIRTLE, SpeciesId.WARTORTLE, @@ -68747,6 +69026,7 @@ export const tmPoolTiers: TmPoolTiers = { [MoveId.LEAF_BLADE]: ModifierTier.ULTRA, [MoveId.DRAGON_DANCE]: ModifierTier.GREAT, [MoveId.ROCK_BLAST]: ModifierTier.GREAT, + [MoveId.SHOCK_WAVE]: ModifierTier.GREAT, [MoveId.WATER_PULSE]: ModifierTier.GREAT, [MoveId.ROOST]: ModifierTier.GREAT, [MoveId.GRAVITY]: ModifierTier.COMMON, diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index 55a3cc4e916..aa4951f3263 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -404,22 +404,18 @@ export const chargeAnims = new Map(); export const encounterAnims = new Map(); -export function initCommonAnims(): Promise { - return new Promise(resolve => { - const commonAnimNames = getEnumKeys(CommonAnim); - const commonAnimIds = getEnumValues(CommonAnim); - const commonAnimFetches: Promise>[] = []; - for (let ca = 0; ca < commonAnimIds.length; ca++) { - const commonAnimId = commonAnimIds[ca]; - commonAnimFetches.push( - globalScene - .cachedFetch(`./battle-anims/common-${toKebabCase(commonAnimNames[ca])}.json`) - .then(response => response.json()) - .then(cas => commonAnims.set(commonAnimId, new AnimConfig(cas))), - ); - } - Promise.allSettled(commonAnimFetches).then(() => resolve()); - }); +export async function initCommonAnims(): Promise { + const commonAnimFetches: Promise>[] = []; + for (const commonAnimName of getEnumKeys(CommonAnim)) { + const commonAnimId = CommonAnim[commonAnimName]; + commonAnimFetches.push( + globalScene + .cachedFetch(`./battle-anims/common-${toKebabCase(commonAnimName)}.json`) + .then(response => response.json()) + .then(cas => commonAnims.set(commonAnimId, new AnimConfig(cas))), + ); + } + await Promise.allSettled(commonAnimFetches); } export function initMoveAnim(move: MoveId): Promise { @@ -1396,279 +1392,3 @@ export class EncounterBattleAnim extends BattleAnim { return this.oppAnim; } } - -export async function populateAnims() { - const commonAnimNames = getEnumKeys(CommonAnim).map(k => k.toLowerCase()); - const commonAnimMatchNames = commonAnimNames.map(k => k.replace(/_/g, "")); - const commonAnimIds = getEnumValues(CommonAnim); - const chargeAnimNames = getEnumKeys(ChargeAnim).map(k => k.toLowerCase()); - const chargeAnimMatchNames = chargeAnimNames.map(k => k.replace(/_/g, " ")); - const chargeAnimIds = getEnumValues(ChargeAnim); - const commonNamePattern = /name: (?:Common:)?(Opp )?(.*)/; - const moveNameToId = {}; - // Exclude MoveId.NONE; - for (const move of getEnumValues(MoveId).slice(1)) { - // KARATE_CHOP => KARATECHOP - const moveName = MoveId[move].toUpperCase().replace(/_/g, ""); - moveNameToId[moveName] = move; - } - - const seNames: string[] = []; //(await fs.readdir('./public/audio/se/battle_anims/')).map(se => se.toString()); - - const animsData: any[] = []; //battleAnimRawData.split('!ruby/array:PBAnimation').slice(1); // TODO: add a proper type - for (let a = 0; a < animsData.length; a++) { - const fields = animsData[a].split("@").slice(1); - - const nameField = fields.find(f => f.startsWith("name: ")); - - let isOppMove: boolean | undefined; - let commonAnimId: CommonAnim | undefined; - let chargeAnimId: ChargeAnim | undefined; - if (!nameField.startsWith("name: Move:") && !(isOppMove = nameField.startsWith("name: OppMove:"))) { - const nameMatch = commonNamePattern.exec(nameField)!; // TODO: is this bang correct? - const name = nameMatch[2].toLowerCase(); - if (commonAnimMatchNames.indexOf(name) > -1) { - commonAnimId = commonAnimIds[commonAnimMatchNames.indexOf(name)]; - } else if (chargeAnimMatchNames.indexOf(name) > -1) { - isOppMove = nameField.startsWith("name: Opp "); - chargeAnimId = chargeAnimIds[chargeAnimMatchNames.indexOf(name)]; - } - } - const nameIndex = nameField.indexOf(":", 5) + 1; - const animName = nameField.slice(nameIndex, nameField.indexOf("\n", nameIndex)); - if (!moveNameToId.hasOwnProperty(animName) && !commonAnimId && !chargeAnimId) { - continue; - } - const anim = commonAnimId || chargeAnimId ? new AnimConfig() : new AnimConfig(); - if (anim instanceof AnimConfig) { - (anim as AnimConfig).id = moveNameToId[animName]; - } - if (commonAnimId) { - commonAnims.set(commonAnimId, anim); - } else if (chargeAnimId) { - chargeAnims.set(chargeAnimId, !isOppMove ? anim : [chargeAnims.get(chargeAnimId) as AnimConfig, anim]); - } else { - moveAnims.set( - moveNameToId[animName], - !isOppMove ? (anim as AnimConfig) : [moveAnims.get(moveNameToId[animName]) as AnimConfig, anim as AnimConfig], - ); - } - for (let f = 0; f < fields.length; f++) { - const field = fields[f]; - const fieldName = field.slice(0, field.indexOf(":")); - const fieldData = field.slice(fieldName.length + 1, field.lastIndexOf("\n")).trim(); - switch (fieldName) { - case "array": { - const framesData = fieldData.split(" - - - ").slice(1); - for (let fd = 0; fd < framesData.length; fd++) { - anim.frames.push([]); - const frameData = framesData[fd]; - const focusFramesData = frameData.split(" - - "); - for (let tf = 0; tf < focusFramesData.length; tf++) { - const values = focusFramesData[tf].replace(/ {6}- /g, "").split("\n"); - const targetFrame = new AnimFrame( - Number.parseFloat(values[0]), - Number.parseFloat(values[1]), - Number.parseFloat(values[2]), - Number.parseFloat(values[11]), - Number.parseFloat(values[3]), - Number.parseInt(values[4]) === 1, - Number.parseInt(values[6]) === 1, - Number.parseInt(values[5]), - Number.parseInt(values[7]), - Number.parseInt(values[8]), - Number.parseInt(values[12]), - Number.parseInt(values[13]), - Number.parseInt(values[14]), - Number.parseInt(values[15]), - Number.parseInt(values[16]), - Number.parseInt(values[17]), - Number.parseInt(values[18]), - Number.parseInt(values[19]), - Number.parseInt(values[21]), - Number.parseInt(values[22]), - Number.parseInt(values[23]), - Number.parseInt(values[24]), - Number.parseInt(values[20]) === 1, - Number.parseInt(values[25]), - Number.parseInt(values[26]) as AnimFocus, - ); - anim.frames[fd].push(targetFrame); - } - } - break; - } - case "graphic": { - const graphic = fieldData !== "''" ? fieldData : ""; - anim.graphic = graphic.indexOf(".") > -1 ? graphic.slice(0, fieldData.indexOf(".")) : graphic; - break; - } - case "timing": { - const timingEntries = fieldData.split("- !ruby/object:PBAnimTiming ").slice(1); - for (let t = 0; t < timingEntries.length; t++) { - const timingData = timingEntries[t] - .replace(/\n/g, " ") - .replace(/[ ]{2,}/g, " ") - .replace(/[a-z]+: ! '', /gi, "") - .replace(/name: (.*?),/, 'name: "$1",') - .replace( - /flashColor: !ruby\/object:Color { alpha: ([\d.]+), blue: ([\d.]+), green: ([\d.]+), red: ([\d.]+)}/, - "flashRed: $4, flashGreen: $3, flashBlue: $2, flashAlpha: $1", - ); - const frameIndex = Number.parseInt(/frame: (\d+)/.exec(timingData)![1]); // TODO: is the bang correct? - let resourceName = /name: "(.*?)"/.exec(timingData)![1].replace("''", ""); // TODO: is the bang correct? - const timingType = Number.parseInt(/timingType: (\d)/.exec(timingData)![1]); // TODO: is the bang correct? - let timedEvent: AnimTimedEvent | undefined; - switch (timingType) { - case 0: - if (resourceName && resourceName.indexOf(".") === -1) { - let ext: string | undefined; - ["wav", "mp3", "m4a"].every(e => { - if (seNames.indexOf(`${resourceName}.${e}`) > -1) { - ext = e; - return false; - } - return true; - }); - if (!ext) { - ext = ".wav"; - } - resourceName += `.${ext}`; - } - timedEvent = new AnimTimedSoundEvent(frameIndex, resourceName); - break; - case 1: - timedEvent = new AnimTimedAddBgEvent(frameIndex, resourceName.slice(0, resourceName.indexOf("."))); - break; - case 2: - timedEvent = new AnimTimedUpdateBgEvent(frameIndex, resourceName.slice(0, resourceName.indexOf("."))); - break; - } - if (!timedEvent) { - continue; - } - const propPattern = /([a-z]+): (.*?)(?:,|\})/gi; - let propMatch: RegExpExecArray; - while ((propMatch = propPattern.exec(timingData)!)) { - // TODO: is this bang correct? - const prop = propMatch[1]; - let value: any = propMatch[2]; - switch (prop) { - case "bgX": - case "bgY": - value = Number.parseFloat(value); - break; - case "volume": - case "pitch": - case "opacity": - case "colorRed": - case "colorGreen": - case "colorBlue": - case "colorAlpha": - case "duration": - case "flashScope": - case "flashRed": - case "flashGreen": - case "flashBlue": - case "flashAlpha": - case "flashDuration": - value = Number.parseInt(value); - break; - } - if (timedEvent.hasOwnProperty(prop)) { - timedEvent[prop] = value; - } - } - if (!anim.frameTimedEvents.has(frameIndex)) { - anim.frameTimedEvents.set(frameIndex, []); - } - anim.frameTimedEvents.get(frameIndex)!.push(timedEvent); // TODO: is this bang correct? - } - break; - } - case "position": - anim.position = Number.parseInt(fieldData); - break; - case "hue": - anim.hue = Number.parseInt(fieldData); - break; - } - } - } - - // biome-ignore lint/correctness/noUnusedVariables: used in commented code - const animReplacer = (k, v) => { - if (k === "id" && !v) { - return undefined; - } - if (v instanceof Map) { - return Object.fromEntries(v); - } - if (v instanceof AnimTimedEvent) { - v["eventType"] = v.getEventType(); - } - return v; - }; - - const animConfigProps = ["id", "graphic", "frames", "frameTimedEvents", "position", "hue"]; - const animFrameProps = [ - "x", - "y", - "zoomX", - "zoomY", - "angle", - "mirror", - "visible", - "blendType", - "target", - "graphicFrame", - "opacity", - "color", - "tone", - "flash", - "locked", - "priority", - "focus", - ]; - const propSets = [animConfigProps, animFrameProps]; - - // biome-ignore lint/correctness/noUnusedVariables: used in commented code - const animComparator = (a: Element, b: Element) => { - let props: string[]; - for (let p = 0; p < propSets.length; p++) { - props = propSets[p]; - // @ts-expect-error TODO - const ai = props.indexOf(a.key); - if (ai === -1) { - continue; - } - // @ts-expect-error TODO - const bi = props.indexOf(b.key); - - return ai < bi ? -1 : ai > bi ? 1 : 0; - } - - return 0; - }; - - /*for (let ma of moveAnims.keys()) { - const data = moveAnims.get(ma); - (async () => { - await fs.writeFile(`../public/battle-anims/${Moves[ma].toLowerCase().replace(/\_/g, '-')}.json`, stringify(data, { replacer: animReplacer, cmp: animComparator, space: ' ' })); - })(); - } - - for (let ca of chargeAnims.keys()) { - const data = chargeAnims.get(ca); - (async () => { - await fs.writeFile(`../public/battle-anims/${chargeAnimNames[chargeAnimIds.indexOf(ca)].replace(/\_/g, '-')}.json`, stringify(data, { replacer: animReplacer, cmp: animComparator, space: ' ' })); - })(); - } - - for (let cma of commonAnims.keys()) { - const data = commonAnims.get(cma); - (async () => { - await fs.writeFile(`../public/battle-anims/common-${commonAnimNames[commonAnimIds.indexOf(cma)].replace(/\_/g, '-')}.json`, stringify(data, { replacer: animReplacer, cmp: animComparator, space: ' ' })); - })(); - }*/ -} diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 1199ac581a6..5fcc831f447 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -50,6 +50,7 @@ import type { } from "#types/battler-tags"; import type { Mutable } from "#types/type-helpers"; import { BooleanHolder, coerceArray, getFrameMs, isNullOrUndefined, NumberHolder, toDmgValue } from "#utils/common"; +import { toCamelCase } from "#utils/strings"; /** * @module @@ -2305,7 +2306,7 @@ export class TypeBoostTag extends SerializableBattlerTag { globalScene.phaseManager.queueMessage( i18next.t("abilityTriggers:typeImmunityPowerBoost", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - typeName: i18next.t(`pokemonInfo:Type.${PokemonType[this.boostedType]}`), + typeName: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.boostedType])}`), }), ); } diff --git a/src/data/berry.ts b/src/data/berry.ts index 61235b75e21..762423799fe 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -11,11 +11,11 @@ import { NumberHolder, randSeedInt, toDmgValue } from "#utils/common"; import i18next from "i18next"; export function getBerryName(berryType: BerryType): string { - return i18next.t(`berry:${BerryType[berryType]}.name`); + return i18next.t(`berry:${BerryType[berryType].toLowerCase()}.name`); } export function getBerryEffectDescription(berryType: BerryType): string { - return i18next.t(`berry:${BerryType[berryType]}.effect`); + return i18next.t(`berry:${BerryType[berryType].toLowerCase()}.effect`); } export type BerryPredicate = (pokemon: Pokemon) => boolean; diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 724d1f302da..ea780f8aeb2 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -20,6 +20,7 @@ import { Trainer } from "#field/trainer"; import type { ModifierTypeOption } from "#modifiers/modifier-type"; import { PokemonMove } from "#moves/pokemon-move"; import type { DexAttrProps, GameData } from "#system/game-data"; +import { RibbonData, type RibbonFlag } from "#system/ribbons/ribbon-data"; import { type BooleanHolder, isBetween, type NumberHolder, randSeedItem } from "#utils/common"; import { deepCopy } from "#utils/data"; import { getPokemonSpecies, getPokemonSpeciesForm } from "#utils/pokemon-utils"; @@ -42,6 +43,15 @@ export abstract class Challenge { public conditions: ChallengeCondition[]; + /** + * The Ribbon awarded on challenge completion, or 0 if the challenge has no ribbon or is not enabled + * + * @defaultValue 0 + */ + public get ribbonAwarded(): RibbonFlag { + return 0n as RibbonFlag; + } + /** * @param id {@link Challenges} The enum value for the challenge */ @@ -423,6 +433,12 @@ type ChallengeCondition = (data: GameData) => boolean; * Implements a mono generation challenge. */ export class SingleGenerationChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + // NOTE: This logic will not work for the eventual mono gen 10 ribbon, as + // as its flag will not be in sequence with the other mono gen ribbons. + return this.value ? ((RibbonData.MONO_GEN_1 << (BigInt(this.value) - 1n)) as RibbonFlag) : 0n; + } + constructor() { super(Challenges.SINGLE_GENERATION, 9); } @@ -686,6 +702,12 @@ interface monotypeOverride { * Implements a mono type challenge. */ export class SingleTypeChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + // `this.value` represents the 1-based index of pokemon type + // `RibbonData.MONO_NORMAL` starts the flag position for the types, + // and we shift it by 1 for the specific type. + return this.value ? ((RibbonData.MONO_NORMAL << (BigInt(this.value) - 1n)) as RibbonFlag) : 0n; + } private static TYPE_OVERRIDES: monotypeOverride[] = [ { species: SpeciesId.CASTFORM, type: PokemonType.NORMAL, fusion: false }, ]; @@ -734,7 +756,7 @@ export class SingleTypeChallenge extends Challenge { } getDescription(overrideValue: number = this.value): string { - const type = i18next.t(`pokemonInfo:Type.${PokemonType[overrideValue - 1]}`); + const type = i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[overrideValue - 1])}`); const typeColor = `[color=${TypeColor[PokemonType[overrideValue - 1]]}][shadow=${TypeShadow[PokemonType[this.value - 1]]}]${type}[/shadow][/color]`; const defaultDesc = i18next.t("challenges:singleType.desc_default"); const typeDesc = i18next.t("challenges:singleType.desc", { @@ -755,6 +777,9 @@ export class SingleTypeChallenge extends Challenge { * Implements a fresh start challenge. */ export class FreshStartChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + return this.value ? RibbonData.FRESH_START : 0n; + } constructor() { super(Challenges.FRESH_START, 2); } @@ -828,6 +853,9 @@ export class FreshStartChallenge extends Challenge { * Implements an inverse battle challenge. */ export class InverseBattleChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + return this.value ? RibbonData.INVERSE : 0n; + } constructor() { super(Challenges.INVERSE_BATTLE, 1); } @@ -861,6 +889,9 @@ export class InverseBattleChallenge extends Challenge { * Implements a flip stat challenge. */ export class FlipStatChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + return this.value ? RibbonData.FLIP_STATS : 0n; + } constructor() { super(Challenges.FLIP_STAT, 1); } @@ -941,6 +972,9 @@ export class LowerStarterPointsChallenge extends Challenge { * Implements a No Support challenge */ export class LimitedSupportChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + return this.value ? ((RibbonData.NO_HEAL << (BigInt(this.value) - 1n)) as RibbonFlag) : 0n; + } constructor() { super(Challenges.LIMITED_SUPPORT, 3); } @@ -973,6 +1007,9 @@ export class LimitedSupportChallenge extends Challenge { * Implements a Limited Catch challenge */ export class LimitedCatchChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + return this.value ? RibbonData.LIMITED_CATCH : 0n; + } constructor() { super(Challenges.LIMITED_CATCH, 1); } @@ -997,6 +1034,9 @@ export class LimitedCatchChallenge extends Challenge { * Implements a Permanent Faint challenge */ export class HardcoreChallenge extends Challenge { + public override get ribbonAwarded(): RibbonFlag { + return this.value ? RibbonData.HARDCORE : 0n; + } constructor() { super(Challenges.HARDCORE, 1); } diff --git a/src/data/daily-run.ts b/src/data/daily-run.ts index b5fb0aa8c07..f0a20a0b02b 100644 --- a/src/data/daily-run.ts +++ b/src/data/daily-run.ts @@ -5,10 +5,9 @@ import type { PokemonSpeciesForm } from "#data/pokemon-species"; import { PokemonSpecies } from "#data/pokemon-species"; import { BiomeId } from "#enums/biome-id"; import { PartyMemberStrength } from "#enums/party-member-strength"; -import type { SpeciesId } from "#enums/species-id"; -import { PlayerPokemon } from "#field/pokemon"; +import { SpeciesId } from "#enums/species-id"; import type { Starter } from "#ui/starter-select-ui-handler"; -import { randSeedGauss, randSeedInt, randSeedItem } from "#utils/common"; +import { isNullOrUndefined, randSeedGauss, randSeedInt, randSeedItem } from "#utils/common"; import { getEnumValues } from "#utils/enums"; import { getPokemonSpecies, getPokemonSpeciesForm } from "#utils/pokemon-utils"; @@ -32,15 +31,9 @@ export function getDailyRunStarters(seed: string): Starter[] { () => { const startingLevel = globalScene.gameMode.getStartingLevel(); - if (/\d{18}$/.test(seed)) { - for (let s = 0; s < 3; s++) { - const offset = 6 + s * 6; - const starterSpeciesForm = getPokemonSpeciesForm( - Number.parseInt(seed.slice(offset, offset + 4)) as SpeciesId, - Number.parseInt(seed.slice(offset + 4, offset + 6)), - ); - starters.push(getDailyRunStarter(starterSpeciesForm, startingLevel)); - } + const eventStarters = getDailyEventSeedStarters(seed); + if (!isNullOrUndefined(eventStarters)) { + starters.push(...eventStarters); return; } @@ -72,18 +65,7 @@ function getDailyRunStarter(starterSpeciesForm: PokemonSpeciesForm, startingLeve const starterSpecies = starterSpeciesForm instanceof PokemonSpecies ? starterSpeciesForm : getPokemonSpecies(starterSpeciesForm.speciesId); const formIndex = starterSpeciesForm instanceof PokemonSpecies ? undefined : starterSpeciesForm.formIndex; - const pokemon = new PlayerPokemon( - starterSpecies, - startingLevel, - undefined, - formIndex, - undefined, - undefined, - undefined, - undefined, - undefined, - undefined, - ); + const pokemon = globalScene.addPlayerPokemon(starterSpecies, startingLevel, undefined, formIndex); const starter: Starter = { species: starterSpecies, dexAttr: pokemon.getDexAttr(), @@ -145,6 +127,11 @@ const dailyBiomeWeights: BiomeWeights = { }; export function getDailyStartingBiome(): BiomeId { + const eventBiome = getDailyEventSeedBiome(globalScene.seed); + if (!isNullOrUndefined(eventBiome)) { + return eventBiome; + } + const biomes = getEnumValues(BiomeId).filter(b => b !== BiomeId.TOWN && b !== BiomeId.END); let totalWeight = 0; @@ -169,3 +156,126 @@ export function getDailyStartingBiome(): BiomeId { // TODO: should this use `randSeedItem`? return biomes[randSeedInt(biomes.length)]; } + +/** + * If this is Daily Mode and the seed is longer than a default seed + * then it has been modified and could contain a custom event seed. \ + * Default seeds are always exactly 24 characters. + * @returns `true` if it is a Daily Event Seed. + */ +export function isDailyEventSeed(seed: string): boolean { + return globalScene.gameMode.isDaily && seed.length > 24; +} + +/** + * Expects the seed to contain `/starters\d{18}/` + * where the digits alternate between 4 digits for the species ID and 2 digits for the form index + * (left padded with `0`s as necessary). + * @returns An array of {@linkcode Starter}s, or `null` if no valid match. + */ +export function getDailyEventSeedStarters(seed: string): Starter[] | null { + if (!isDailyEventSeed(seed)) { + return null; + } + + const starters: Starter[] = []; + const match = /starters(\d{4})(\d{2})(\d{4})(\d{2})(\d{4})(\d{2})/g.exec(seed); + + if (!match || match.length !== 7) { + return null; + } + + for (let i = 1; i < match.length; i += 2) { + const speciesId = Number.parseInt(match[i]) as SpeciesId; + const formIndex = Number.parseInt(match[i + 1]); + + if (!getEnumValues(SpeciesId).includes(speciesId)) { + console.warn("Invalid species ID used for custom daily run seed starter:", speciesId); + return null; + } + + const starterForm = getPokemonSpeciesForm(speciesId, formIndex); + const startingLevel = globalScene.gameMode.getStartingLevel(); + const starter = getDailyRunStarter(starterForm, startingLevel); + starters.push(starter); + } + + return starters; +} + +/** + * Expects the seed to contain `/boss\d{4}\d{2}/` + * where the first 4 digits are the species ID and the next 2 digits are the form index + * (left padded with `0`s as necessary). + * @returns A {@linkcode PokemonSpeciesForm} to be used for the boss, or `null` if no valid match. + */ +export function getDailyEventSeedBoss(seed: string): PokemonSpeciesForm | null { + if (!isDailyEventSeed(seed)) { + return null; + } + + const match = /boss(\d{4})(\d{2})/g.exec(seed); + if (!match || match.length !== 3) { + return null; + } + + const speciesId = Number.parseInt(match[1]) as SpeciesId; + const formIndex = Number.parseInt(match[2]); + + if (!getEnumValues(SpeciesId).includes(speciesId)) { + console.warn("Invalid species ID used for custom daily run seed boss:", speciesId); + return null; + } + + const starterForm = getPokemonSpeciesForm(speciesId, formIndex); + return starterForm; +} + +/** + * Expects the seed to contain `/biome\d{2}/` where the 2 digits are a biome ID (left padded with `0` if necessary). + * @returns The biome to use or `null` if no valid match. + */ +export function getDailyEventSeedBiome(seed: string): BiomeId | null { + if (!isDailyEventSeed(seed)) { + return null; + } + + const match = /biome(\d{2})/g.exec(seed); + if (!match || match.length !== 2) { + return null; + } + + const startingBiome = Number.parseInt(match[1]) as BiomeId; + + if (!getEnumValues(BiomeId).includes(startingBiome)) { + console.warn("Invalid biome ID used for custom daily run seed:", startingBiome); + return null; + } + + return startingBiome; +} + +/** + * Expects the seed to contain `/luck\d{2}/` where the 2 digits are a number between `0` and `14` + * (left padded with `0` if necessary). + * @returns The custom luck value or `null` if no valid match. + */ +export function getDailyEventSeedLuck(seed: string): number | null { + if (!isDailyEventSeed(seed)) { + return null; + } + + const match = /luck(\d{2})/g.exec(seed); + if (!match || match.length !== 2) { + return null; + } + + const luck = Number.parseInt(match[1]); + + if (luck < 0 || luck > 14) { + console.warn("Invalid luck value used for custom daily run seed:", luck); + return null; + } + + return luck; +} diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index 361d005e83b..1d672397777 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -85,20 +85,16 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { }, { encounter: [ - "dialogue:breeder_female.encounter.1", - "dialogue:breeder_female.encounter.2", - "dialogue:breeder_female.encounter.3", + "dialogue:breederFemale.encounter.1", + "dialogue:breederFemale.encounter.2", + "dialogue:breederFemale.encounter.3", ], victory: [ - "dialogue:breeder_female.victory.1", - "dialogue:breeder_female.victory.2", - "dialogue:breeder_female.victory.3", - ], - defeat: [ - "dialogue:breeder_female.defeat.1", - "dialogue:breeder_female.defeat.2", - "dialogue:breeder_female.defeat.3", + "dialogue:breederFemale.victory.1", + "dialogue:breederFemale.victory.2", + "dialogue:breederFemale.victory.3", ], + defeat: ["dialogue:breederFemale.defeat.1", "dialogue:breederFemale.defeat.2", "dialogue:breederFemale.defeat.3"], }, ], [TrainerType.FISHERMAN]: [ @@ -108,14 +104,14 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { }, { encounter: [ - "dialogue:fisherman_female.encounter.1", - "dialogue:fisherman_female.encounter.2", - "dialogue:fisherman_female.encounter.3", + "dialogue:fishermanFemale.encounter.1", + "dialogue:fishermanFemale.encounter.2", + "dialogue:fishermanFemale.encounter.3", ], victory: [ - "dialogue:fisherman_female.victory.1", - "dialogue:fisherman_female.victory.2", - "dialogue:fisherman_female.victory.3", + "dialogue:fishermanFemale.victory.1", + "dialogue:fishermanFemale.victory.2", + "dialogue:fishermanFemale.victory.3", ], }, ], @@ -144,29 +140,29 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.ACE_TRAINER]: [ { encounter: [ - "dialogue:ace_trainer.encounter.1", - "dialogue:ace_trainer.encounter.2", - "dialogue:ace_trainer.encounter.3", - "dialogue:ace_trainer.encounter.4", + "dialogue:aceTrainer.encounter.1", + "dialogue:aceTrainer.encounter.2", + "dialogue:aceTrainer.encounter.3", + "dialogue:aceTrainer.encounter.4", ], victory: [ - "dialogue:ace_trainer.victory.1", - "dialogue:ace_trainer.victory.2", - "dialogue:ace_trainer.victory.3", - "dialogue:ace_trainer.victory.4", + "dialogue:aceTrainer.victory.1", + "dialogue:aceTrainer.victory.2", + "dialogue:aceTrainer.victory.3", + "dialogue:aceTrainer.victory.4", ], defeat: [ - "dialogue:ace_trainer.defeat.1", - "dialogue:ace_trainer.defeat.2", - "dialogue:ace_trainer.defeat.3", - "dialogue:ace_trainer.defeat.4", + "dialogue:aceTrainer.defeat.1", + "dialogue:aceTrainer.defeat.2", + "dialogue:aceTrainer.defeat.3", + "dialogue:aceTrainer.defeat.4", ], }, ], [TrainerType.PARASOL_LADY]: [ { - encounter: ["dialogue:parasol_lady.encounter.1"], - victory: ["dialogue:parasol_lady.victory.1"], + encounter: ["dialogue:parasolLady.encounter.1"], + victory: ["dialogue:parasolLady.victory.1"], }, ], [TrainerType.TWINS]: [ @@ -184,13 +180,13 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ], [TrainerType.BLACK_BELT]: [ { - encounter: ["dialogue:black_belt.encounter.1", "dialogue:black_belt.encounter.2"], - victory: ["dialogue:black_belt.victory.1", "dialogue:black_belt.victory.2"], + encounter: ["dialogue:blackBelt.encounter.1", "dialogue:blackBelt.encounter.2"], + victory: ["dialogue:blackBelt.victory.1", "dialogue:blackBelt.victory.2"], }, //BATTLE GIRL { - encounter: ["dialogue:battle_girl.encounter.1"], - victory: ["dialogue:battle_girl.victory.1"], + encounter: ["dialogue:battleGirl.encounter.1"], + victory: ["dialogue:battleGirl.victory.1"], }, ], [TrainerType.HIKER]: [ @@ -214,8 +210,8 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ], [TrainerType.SCHOOL_KID]: [ { - encounter: ["dialogue:school_kid.encounter.1", "dialogue:school_kid.encounter.2"], - victory: ["dialogue:school_kid.victory.1", "dialogue:school_kid.victory.2"], + encounter: ["dialogue:schoolKid.encounter.1", "dialogue:schoolKid.encounter.2"], + victory: ["dialogue:schoolKid.victory.1", "dialogue:schoolKid.victory.2"], }, ], [TrainerType.ARTIST]: [ @@ -236,31 +232,31 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { victory: ["dialogue:worker.victory.1"], }, { - encounter: ["dialogue:worker_female.encounter.1"], - victory: ["dialogue:worker_female.victory.1"], - defeat: ["dialogue:worker_female.defeat.1"], + encounter: ["dialogue:workerFemale.encounter.1"], + victory: ["dialogue:workerFemale.victory.1"], + defeat: ["dialogue:workerFemale.defeat.1"], }, { - encounter: ["dialogue:worker_double.encounter.1"], - victory: ["dialogue:worker_double.victory.1"], + encounter: ["dialogue:workerDouble.encounter.1"], + victory: ["dialogue:workerDouble.victory.1"], }, ], // Defeat dialogue in the language .JSONS exist as translated or placeholders; (en, fr, it, es, de, ja, ko, zh_cn, zh_tw, pt_br) [TrainerType.SNOW_WORKER]: [ { - encounter: ["dialogue:snow_worker.encounter.1"], - victory: ["dialogue:snow_worker.victory.1"], + encounter: ["dialogue:snowWorker.encounter.1"], + victory: ["dialogue:snowWorker.victory.1"], }, { - encounter: ["dialogue:snow_worker_double.encounter.1"], - victory: ["dialogue:snow_worker_double.victory.1"], + encounter: ["dialogue:snowWorkerDouble.encounter.1"], + victory: ["dialogue:snowWorkerDouble.victory.1"], }, ], [TrainerType.HEX_MANIAC]: [ { - encounter: ["dialogue:hex_maniac.encounter.1", "dialogue:hex_maniac.encounter.2"], - victory: ["dialogue:hex_maniac.victory.1", "dialogue:hex_maniac.victory.2"], - defeat: ["dialogue:hex_maniac.defeat.1", "dialogue:hex_maniac.defeat.2"], + encounter: ["dialogue:hexManiac.encounter.1", "dialogue:hexManiac.encounter.2"], + victory: ["dialogue:hexManiac.victory.1", "dialogue:hexManiac.victory.2"], + defeat: ["dialogue:hexManiac.defeat.1", "dialogue:hexManiac.defeat.2"], }, ], [TrainerType.PSYCHIC]: [ @@ -320,15 +316,11 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { }, { encounter: [ - "dialogue:clerk_female.encounter.1", - "dialogue:clerk_female.encounter.2", - "dialogue:clerk_female.encounter.3", - ], - victory: [ - "dialogue:clerk_female.victory.1", - "dialogue:clerk_female.victory.2", - "dialogue:clerk_female.victory.3", + "dialogue:clerkFemale.encounter.1", + "dialogue:clerkFemale.encounter.2", + "dialogue:clerkFemale.encounter.3", ], + victory: ["dialogue:clerkFemale.victory.1", "dialogue:clerkFemale.victory.2", "dialogue:clerkFemale.victory.3"], }, ], [TrainerType.HOOLIGANS]: [ @@ -371,14 +363,14 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { }, { encounter: [ - "dialogue:pokefan_female.encounter.1", - "dialogue:pokefan_female.encounter.2", - "dialogue:pokefan_female.encounter.3", + "dialogue:pokefanFemale.encounter.1", + "dialogue:pokefanFemale.encounter.2", + "dialogue:pokefanFemale.encounter.3", ], victory: [ - "dialogue:pokefan_female.victory.1", - "dialogue:pokefan_female.victory.2", - "dialogue:pokefan_female.victory.3", + "dialogue:pokefanFemale.victory.1", + "dialogue:pokefanFemale.victory.2", + "dialogue:pokefanFemale.victory.3", ], }, ], @@ -389,52 +381,52 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { }, { encounter: [ - "dialogue:rich_female.encounter.1", - "dialogue:rich_female.encounter.2", - "dialogue:rich_female.encounter.3", + "dialogue:richFemale.encounter.1", + "dialogue:richFemale.encounter.2", + "dialogue:richFemale.encounter.3", ], - victory: ["dialogue:rich_female.victory.1", "dialogue:rich_female.victory.2", "dialogue:rich_female.victory.3"], + victory: ["dialogue:richFemale.victory.1", "dialogue:richFemale.victory.2", "dialogue:richFemale.victory.3"], }, ], [TrainerType.RICH_KID]: [ { - encounter: ["dialogue:rich_kid.encounter.1", "dialogue:rich_kid.encounter.2", "dialogue:rich_kid.encounter.3"], + encounter: ["dialogue:richKid.encounter.1", "dialogue:richKid.encounter.2", "dialogue:richKid.encounter.3"], victory: [ - "dialogue:rich_kid.victory.1", - "dialogue:rich_kid.victory.2", - "dialogue:rich_kid.victory.3", - "dialogue:rich_kid.victory.4", + "dialogue:richKid.victory.1", + "dialogue:richKid.victory.2", + "dialogue:richKid.victory.3", + "dialogue:richKid.victory.4", ], }, { encounter: [ - "dialogue:rich_kid_female.encounter.1", - "dialogue:rich_kid_female.encounter.2", - "dialogue:rich_kid_female.encounter.3", + "dialogue:richKidFemale.encounter.1", + "dialogue:richKidFemale.encounter.2", + "dialogue:richKidFemale.encounter.3", ], victory: [ - "dialogue:rich_kid_female.victory.1", - "dialogue:rich_kid_female.victory.2", - "dialogue:rich_kid_female.victory.3", - "dialogue:rich_kid_female.victory.4", + "dialogue:richKidFemale.victory.1", + "dialogue:richKidFemale.victory.2", + "dialogue:richKidFemale.victory.3", + "dialogue:richKidFemale.victory.4", ], }, ], [TrainerType.ROCKET_GRUNT]: [ { encounter: [ - "dialogue:rocket_grunt.encounter.1", - "dialogue:rocket_grunt.encounter.2", - "dialogue:rocket_grunt.encounter.3", - "dialogue:rocket_grunt.encounter.4", - "dialogue:rocket_grunt.encounter.5", + "dialogue:rocketGrunt.encounter.1", + "dialogue:rocketGrunt.encounter.2", + "dialogue:rocketGrunt.encounter.3", + "dialogue:rocketGrunt.encounter.4", + "dialogue:rocketGrunt.encounter.5", ], victory: [ - "dialogue:rocket_grunt.victory.1", - "dialogue:rocket_grunt.victory.2", - "dialogue:rocket_grunt.victory.3", - "dialogue:rocket_grunt.victory.4", - "dialogue:rocket_grunt.victory.5", + "dialogue:rocketGrunt.victory.1", + "dialogue:rocketGrunt.victory.2", + "dialogue:rocketGrunt.victory.3", + "dialogue:rocketGrunt.victory.4", + "dialogue:rocketGrunt.victory.5", ], }, ], @@ -465,18 +457,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.MAGMA_GRUNT]: [ { encounter: [ - "dialogue:magma_grunt.encounter.1", - "dialogue:magma_grunt.encounter.2", - "dialogue:magma_grunt.encounter.3", - "dialogue:magma_grunt.encounter.4", - "dialogue:magma_grunt.encounter.5", + "dialogue:magmaGrunt.encounter.1", + "dialogue:magmaGrunt.encounter.2", + "dialogue:magmaGrunt.encounter.3", + "dialogue:magmaGrunt.encounter.4", + "dialogue:magmaGrunt.encounter.5", ], victory: [ - "dialogue:magma_grunt.victory.1", - "dialogue:magma_grunt.victory.2", - "dialogue:magma_grunt.victory.3", - "dialogue:magma_grunt.victory.4", - "dialogue:magma_grunt.victory.5", + "dialogue:magmaGrunt.victory.1", + "dialogue:magmaGrunt.victory.2", + "dialogue:magmaGrunt.victory.3", + "dialogue:magmaGrunt.victory.4", + "dialogue:magmaGrunt.victory.5", ], }, ], @@ -495,18 +487,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.AQUA_GRUNT]: [ { encounter: [ - "dialogue:aqua_grunt.encounter.1", - "dialogue:aqua_grunt.encounter.2", - "dialogue:aqua_grunt.encounter.3", - "dialogue:aqua_grunt.encounter.4", - "dialogue:aqua_grunt.encounter.5", + "dialogue:aquaGrunt.encounter.1", + "dialogue:aquaGrunt.encounter.2", + "dialogue:aquaGrunt.encounter.3", + "dialogue:aquaGrunt.encounter.4", + "dialogue:aquaGrunt.encounter.5", ], victory: [ - "dialogue:aqua_grunt.victory.1", - "dialogue:aqua_grunt.victory.2", - "dialogue:aqua_grunt.victory.3", - "dialogue:aqua_grunt.victory.4", - "dialogue:aqua_grunt.victory.5", + "dialogue:aquaGrunt.victory.1", + "dialogue:aquaGrunt.victory.2", + "dialogue:aquaGrunt.victory.3", + "dialogue:aquaGrunt.victory.4", + "dialogue:aquaGrunt.victory.5", ], }, ], @@ -525,18 +517,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.GALACTIC_GRUNT]: [ { encounter: [ - "dialogue:galactic_grunt.encounter.1", - "dialogue:galactic_grunt.encounter.2", - "dialogue:galactic_grunt.encounter.3", - "dialogue:galactic_grunt.encounter.4", - "dialogue:galactic_grunt.encounter.5", + "dialogue:galacticGrunt.encounter.1", + "dialogue:galacticGrunt.encounter.2", + "dialogue:galacticGrunt.encounter.3", + "dialogue:galacticGrunt.encounter.4", + "dialogue:galacticGrunt.encounter.5", ], victory: [ - "dialogue:galactic_grunt.victory.1", - "dialogue:galactic_grunt.victory.2", - "dialogue:galactic_grunt.victory.3", - "dialogue:galactic_grunt.victory.4", - "dialogue:galactic_grunt.victory.5", + "dialogue:galacticGrunt.victory.1", + "dialogue:galacticGrunt.victory.2", + "dialogue:galacticGrunt.victory.3", + "dialogue:galacticGrunt.victory.4", + "dialogue:galacticGrunt.victory.5", ], }, ], @@ -561,18 +553,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.PLASMA_GRUNT]: [ { encounter: [ - "dialogue:plasma_grunt.encounter.1", - "dialogue:plasma_grunt.encounter.2", - "dialogue:plasma_grunt.encounter.3", - "dialogue:plasma_grunt.encounter.4", - "dialogue:plasma_grunt.encounter.5", + "dialogue:plasmaGrunt.encounter.1", + "dialogue:plasmaGrunt.encounter.2", + "dialogue:plasmaGrunt.encounter.3", + "dialogue:plasmaGrunt.encounter.4", + "dialogue:plasmaGrunt.encounter.5", ], victory: [ - "dialogue:plasma_grunt.victory.1", - "dialogue:plasma_grunt.victory.2", - "dialogue:plasma_grunt.victory.3", - "dialogue:plasma_grunt.victory.4", - "dialogue:plasma_grunt.victory.5", + "dialogue:plasmaGrunt.victory.1", + "dialogue:plasmaGrunt.victory.2", + "dialogue:plasmaGrunt.victory.3", + "dialogue:plasmaGrunt.victory.4", + "dialogue:plasmaGrunt.victory.5", ], }, ], @@ -591,18 +583,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.FLARE_GRUNT]: [ { encounter: [ - "dialogue:flare_grunt.encounter.1", - "dialogue:flare_grunt.encounter.2", - "dialogue:flare_grunt.encounter.3", - "dialogue:flare_grunt.encounter.4", - "dialogue:flare_grunt.encounter.5", + "dialogue:flareGrunt.encounter.1", + "dialogue:flareGrunt.encounter.2", + "dialogue:flareGrunt.encounter.3", + "dialogue:flareGrunt.encounter.4", + "dialogue:flareGrunt.encounter.5", ], victory: [ - "dialogue:flare_grunt.victory.1", - "dialogue:flare_grunt.victory.2", - "dialogue:flare_grunt.victory.3", - "dialogue:flare_grunt.victory.4", - "dialogue:flare_grunt.victory.5", + "dialogue:flareGrunt.victory.1", + "dialogue:flareGrunt.victory.2", + "dialogue:flareGrunt.victory.3", + "dialogue:flareGrunt.victory.4", + "dialogue:flareGrunt.victory.5", ], }, ], @@ -621,18 +613,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.AETHER_GRUNT]: [ { encounter: [ - "dialogue:aether_grunt.encounter.1", - "dialogue:aether_grunt.encounter.2", - "dialogue:aether_grunt.encounter.3", - "dialogue:aether_grunt.encounter.4", - "dialogue:aether_grunt.encounter.5", + "dialogue:aetherGrunt.encounter.1", + "dialogue:aetherGrunt.encounter.2", + "dialogue:aetherGrunt.encounter.3", + "dialogue:aetherGrunt.encounter.4", + "dialogue:aetherGrunt.encounter.5", ], victory: [ - "dialogue:aether_grunt.victory.1", - "dialogue:aether_grunt.victory.2", - "dialogue:aether_grunt.victory.3", - "dialogue:aether_grunt.victory.4", - "dialogue:aether_grunt.victory.5", + "dialogue:aetherGrunt.victory.1", + "dialogue:aetherGrunt.victory.2", + "dialogue:aetherGrunt.victory.3", + "dialogue:aetherGrunt.victory.4", + "dialogue:aetherGrunt.victory.5", ], }, ], @@ -645,18 +637,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.SKULL_GRUNT]: [ { encounter: [ - "dialogue:skull_grunt.encounter.1", - "dialogue:skull_grunt.encounter.2", - "dialogue:skull_grunt.encounter.3", - "dialogue:skull_grunt.encounter.4", - "dialogue:skull_grunt.encounter.5", + "dialogue:skullGrunt.encounter.1", + "dialogue:skullGrunt.encounter.2", + "dialogue:skullGrunt.encounter.3", + "dialogue:skullGrunt.encounter.4", + "dialogue:skullGrunt.encounter.5", ], victory: [ - "dialogue:skull_grunt.victory.1", - "dialogue:skull_grunt.victory.2", - "dialogue:skull_grunt.victory.3", - "dialogue:skull_grunt.victory.4", - "dialogue:skull_grunt.victory.5", + "dialogue:skullGrunt.victory.1", + "dialogue:skullGrunt.victory.2", + "dialogue:skullGrunt.victory.3", + "dialogue:skullGrunt.victory.4", + "dialogue:skullGrunt.victory.5", ], }, ], @@ -669,18 +661,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.MACRO_GRUNT]: [ { encounter: [ - "dialogue:macro_grunt.encounter.1", - "dialogue:macro_grunt.encounter.2", - "dialogue:macro_grunt.encounter.3", - "dialogue:macro_grunt.encounter.4", - "dialogue:macro_grunt.encounter.5", + "dialogue:macroGrunt.encounter.1", + "dialogue:macroGrunt.encounter.2", + "dialogue:macroGrunt.encounter.3", + "dialogue:macroGrunt.encounter.4", + "dialogue:macroGrunt.encounter.5", ], victory: [ - "dialogue:macro_grunt.victory.1", - "dialogue:macro_grunt.victory.2", - "dialogue:macro_grunt.victory.3", - "dialogue:macro_grunt.victory.4", - "dialogue:macro_grunt.victory.5", + "dialogue:macroGrunt.victory.1", + "dialogue:macroGrunt.victory.2", + "dialogue:macroGrunt.victory.3", + "dialogue:macroGrunt.victory.4", + "dialogue:macroGrunt.victory.5", ], }, ], @@ -693,18 +685,18 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { [TrainerType.STAR_GRUNT]: [ { encounter: [ - "dialogue:star_grunt.encounter.1", - "dialogue:star_grunt.encounter.2", - "dialogue:star_grunt.encounter.3", - "dialogue:star_grunt.encounter.4", - "dialogue:star_grunt.encounter.5", + "dialogue:starGrunt.encounter.1", + "dialogue:starGrunt.encounter.2", + "dialogue:starGrunt.encounter.3", + "dialogue:starGrunt.encounter.4", + "dialogue:starGrunt.encounter.5", ], victory: [ - "dialogue:star_grunt.victory.1", - "dialogue:star_grunt.victory.2", - "dialogue:star_grunt.victory.3", - "dialogue:star_grunt.victory.4", - "dialogue:star_grunt.victory.5", + "dialogue:starGrunt.victory.1", + "dialogue:starGrunt.victory.2", + "dialogue:starGrunt.victory.3", + "dialogue:starGrunt.victory.4", + "dialogue:starGrunt.victory.5", ], }, ], @@ -740,207 +732,207 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ], [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"], + encounter: ["dialogue:rocketBossGiovanni1.encounter.1"], + victory: ["dialogue:rocketBossGiovanni1.victory.1"], + defeat: ["dialogue:rocketBossGiovanni1.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"], + encounter: ["dialogue:rocketBossGiovanni2.encounter.1"], + victory: ["dialogue:rocketBossGiovanni2.victory.1"], + defeat: ["dialogue:rocketBossGiovanni2.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"], + encounter: ["dialogue:magmaBossMaxie1.encounter.1"], + victory: ["dialogue:magmaBossMaxie1.victory.1"], + defeat: ["dialogue:magmaBossMaxie1.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"], + encounter: ["dialogue:magmaBossMaxie2.encounter.1"], + victory: ["dialogue:magmaBossMaxie2.victory.1"], + defeat: ["dialogue:magmaBossMaxie2.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"], + encounter: ["dialogue:aquaBossArchie1.encounter.1"], + victory: ["dialogue:aquaBossArchie1.victory.1"], + defeat: ["dialogue:aquaBossArchie1.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"], + encounter: ["dialogue:aquaBossArchie2.encounter.1"], + victory: ["dialogue:aquaBossArchie2.victory.1"], + defeat: ["dialogue:aquaBossArchie2.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"], + encounter: ["dialogue:galacticBossCyrus1.encounter.1"], + victory: ["dialogue:galacticBossCyrus1.victory.1"], + defeat: ["dialogue:galacticBossCyrus1.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"], + encounter: ["dialogue:galacticBossCyrus2.encounter.1"], + victory: ["dialogue:galacticBossCyrus2.victory.1"], + defeat: ["dialogue:galacticBossCyrus2.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"], + encounter: ["dialogue:plasmaBossGhetsis1.encounter.1"], + victory: ["dialogue:plasmaBossGhetsis1.victory.1"], + defeat: ["dialogue:plasmaBossGhetsis1.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"], + encounter: ["dialogue:plasmaBossGhetsis2.encounter.1"], + victory: ["dialogue:plasmaBossGhetsis2.victory.1"], + defeat: ["dialogue:plasmaBossGhetsis2.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"], + encounter: ["dialogue:flareBossLysandre1.encounter.1"], + victory: ["dialogue:flareBossLysandre1.victory.1"], + defeat: ["dialogue:flareBossLysandre1.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"], + encounter: ["dialogue:flareBossLysandre2.encounter.1"], + victory: ["dialogue:flareBossLysandre2.victory.1"], + defeat: ["dialogue:flareBossLysandre2.defeat.1"], }, ], [TrainerType.LUSAMINE]: [ { - encounter: ["dialogue:aether_boss_lusamine_1.encounter.1"], - victory: ["dialogue:aether_boss_lusamine_1.victory.1"], - defeat: ["dialogue:aether_boss_lusamine_1.defeat.1"], + encounter: ["dialogue:aetherBossLusamine1.encounter.1"], + victory: ["dialogue:aetherBossLusamine1.victory.1"], + defeat: ["dialogue:aetherBossLusamine1.defeat.1"], }, ], [TrainerType.LUSAMINE_2]: [ { - encounter: ["dialogue:aether_boss_lusamine_2.encounter.1"], - victory: ["dialogue:aether_boss_lusamine_2.victory.1"], - defeat: ["dialogue:aether_boss_lusamine_2.defeat.1"], + encounter: ["dialogue:aetherBossLusamine2.encounter.1"], + victory: ["dialogue:aetherBossLusamine2.victory.1"], + defeat: ["dialogue:aetherBossLusamine2.defeat.1"], }, ], [TrainerType.GUZMA]: [ { - encounter: ["dialogue:skull_boss_guzma_1.encounter.1"], - victory: ["dialogue:skull_boss_guzma_1.victory.1"], - defeat: ["dialogue:skull_boss_guzma_1.defeat.1"], + encounter: ["dialogue:skullBossGuzma1.encounter.1"], + victory: ["dialogue:skullBossGuzma1.victory.1"], + defeat: ["dialogue:skullBossGuzma1.defeat.1"], }, ], [TrainerType.GUZMA_2]: [ { - encounter: ["dialogue:skull_boss_guzma_2.encounter.1"], - victory: ["dialogue:skull_boss_guzma_2.victory.1"], - defeat: ["dialogue:skull_boss_guzma_2.defeat.1"], + encounter: ["dialogue:skullBossGuzma2.encounter.1"], + victory: ["dialogue:skullBossGuzma2.victory.1"], + defeat: ["dialogue:skullBossGuzma2.defeat.1"], }, ], [TrainerType.ROSE]: [ { - encounter: ["dialogue:macro_boss_rose_1.encounter.1"], - victory: ["dialogue:macro_boss_rose_1.victory.1"], - defeat: ["dialogue:macro_boss_rose_1.defeat.1"], + encounter: ["dialogue:macroBossRose1.encounter.1"], + victory: ["dialogue:macroBossRose1.victory.1"], + defeat: ["dialogue:macroBossRose1.defeat.1"], }, ], [TrainerType.ROSE_2]: [ { - encounter: ["dialogue:macro_boss_rose_2.encounter.1"], - victory: ["dialogue:macro_boss_rose_2.victory.1"], - defeat: ["dialogue:macro_boss_rose_2.defeat.1"], + encounter: ["dialogue:macroBossRose2.encounter.1"], + victory: ["dialogue:macroBossRose2.victory.1"], + defeat: ["dialogue:macroBossRose2.defeat.1"], }, ], [TrainerType.PENNY]: [ { - encounter: ["dialogue:star_boss_penny_1.encounter.1"], - victory: ["dialogue:star_boss_penny_1.victory.1"], - defeat: ["dialogue:star_boss_penny_1.defeat.1"], + encounter: ["dialogue:starBossPenny1.encounter.1"], + victory: ["dialogue:starBossPenny1.victory.1"], + defeat: ["dialogue:starBossPenny1.defeat.1"], }, ], [TrainerType.PENNY_2]: [ { - encounter: ["dialogue:star_boss_penny_2.encounter.1"], - victory: ["dialogue:star_boss_penny_2.victory.1"], - defeat: ["dialogue:star_boss_penny_2.defeat.1"], + encounter: ["dialogue:starBossPenny2.encounter.1"], + victory: ["dialogue:starBossPenny2.victory.1"], + defeat: ["dialogue:starBossPenny2.defeat.1"], }, ], [TrainerType.BUCK]: [ { - encounter: ["dialogue:stat_trainer_buck.encounter.1", "dialogue:stat_trainer_buck.encounter.2"], - victory: ["dialogue:stat_trainer_buck.victory.1", "dialogue:stat_trainer_buck.victory.2"], - defeat: ["dialogue:stat_trainer_buck.defeat.1", "dialogue:stat_trainer_buck.defeat.2"], + encounter: ["dialogue:statTrainerBuck.encounter.1", "dialogue:statTrainerBuck.encounter.2"], + victory: ["dialogue:statTrainerBuck.victory.1", "dialogue:statTrainerBuck.victory.2"], + defeat: ["dialogue:statTrainerBuck.defeat.1", "dialogue:statTrainerBuck.defeat.2"], }, ], [TrainerType.CHERYL]: [ { - encounter: ["dialogue:stat_trainer_cheryl.encounter.1", "dialogue:stat_trainer_cheryl.encounter.2"], - victory: ["dialogue:stat_trainer_cheryl.victory.1", "dialogue:stat_trainer_cheryl.victory.2"], - defeat: ["dialogue:stat_trainer_cheryl.defeat.1", "dialogue:stat_trainer_cheryl.defeat.2"], + encounter: ["dialogue:statTrainerCheryl.encounter.1", "dialogue:statTrainerCheryl.encounter.2"], + victory: ["dialogue:statTrainerCheryl.victory.1", "dialogue:statTrainerCheryl.victory.2"], + defeat: ["dialogue:statTrainerCheryl.defeat.1", "dialogue:statTrainerCheryl.defeat.2"], }, ], [TrainerType.MARLEY]: [ { - encounter: ["dialogue:stat_trainer_marley.encounter.1", "dialogue:stat_trainer_marley.encounter.2"], - victory: ["dialogue:stat_trainer_marley.victory.1", "dialogue:stat_trainer_marley.victory.2"], - defeat: ["dialogue:stat_trainer_marley.defeat.1", "dialogue:stat_trainer_marley.defeat.2"], + encounter: ["dialogue:statTrainerMarley.encounter.1", "dialogue:statTrainerMarley.encounter.2"], + victory: ["dialogue:statTrainerMarley.victory.1", "dialogue:statTrainerMarley.victory.2"], + defeat: ["dialogue:statTrainerMarley.defeat.1", "dialogue:statTrainerMarley.defeat.2"], }, ], [TrainerType.MIRA]: [ { - encounter: ["dialogue:stat_trainer_mira.encounter.1", "dialogue:stat_trainer_mira.encounter.2"], - victory: ["dialogue:stat_trainer_mira.victory.1", "dialogue:stat_trainer_mira.victory.2"], - defeat: ["dialogue:stat_trainer_mira.defeat.1", "dialogue:stat_trainer_mira.defeat.2"], + encounter: ["dialogue:statTrainerMira.encounter.1", "dialogue:statTrainerMira.encounter.2"], + victory: ["dialogue:statTrainerMira.victory.1", "dialogue:statTrainerMira.victory.2"], + defeat: ["dialogue:statTrainerMira.defeat.1", "dialogue:statTrainerMira.defeat.2"], }, ], [TrainerType.RILEY]: [ { - encounter: ["dialogue:stat_trainer_riley.encounter.1", "dialogue:stat_trainer_riley.encounter.2"], - victory: ["dialogue:stat_trainer_riley.victory.1", "dialogue:stat_trainer_riley.victory.2"], - defeat: ["dialogue:stat_trainer_riley.defeat.1", "dialogue:stat_trainer_riley.defeat.2"], + encounter: ["dialogue:statTrainerRiley.encounter.1", "dialogue:statTrainerRiley.encounter.2"], + victory: ["dialogue:statTrainerRiley.victory.1", "dialogue:statTrainerRiley.victory.2"], + defeat: ["dialogue:statTrainerRiley.defeat.1", "dialogue:statTrainerRiley.defeat.2"], }, ], [TrainerType.VICTOR]: [ { - encounter: ["dialogue:winstrates_victor.encounter.1"], - victory: ["dialogue:winstrates_victor.victory.1"], + encounter: ["dialogue:winstratesVictor.encounter.1"], + victory: ["dialogue:winstratesVictor.victory.1"], }, ], [TrainerType.VICTORIA]: [ { - encounter: ["dialogue:winstrates_victoria.encounter.1"], - victory: ["dialogue:winstrates_victoria.victory.1"], + encounter: ["dialogue:winstratesVictoria.encounter.1"], + victory: ["dialogue:winstratesVictoria.victory.1"], }, ], [TrainerType.VIVI]: [ { - encounter: ["dialogue:winstrates_vivi.encounter.1"], - victory: ["dialogue:winstrates_vivi.victory.1"], + encounter: ["dialogue:winstratesVivi.encounter.1"], + victory: ["dialogue:winstratesVivi.victory.1"], }, ], [TrainerType.VICKY]: [ { - encounter: ["dialogue:winstrates_vicky.encounter.1"], - victory: ["dialogue:winstrates_vicky.victory.1"], + encounter: ["dialogue:winstratesVicky.encounter.1"], + victory: ["dialogue:winstratesVicky.victory.1"], }, ], [TrainerType.VITO]: [ { - encounter: ["dialogue:winstrates_vito.encounter.1"], - victory: ["dialogue:winstrates_vito.victory.1"], + encounter: ["dialogue:winstratesVito.encounter.1"], + victory: ["dialogue:winstratesVito.victory.1"], }, ], [TrainerType.BROCK]: { @@ -954,9 +946,9 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { defeat: ["dialogue:misty.defeat.1", "dialogue:misty.defeat.2", "dialogue:misty.defeat.3"], }, [TrainerType.LT_SURGE]: { - encounter: ["dialogue:lt_surge.encounter.1", "dialogue:lt_surge.encounter.2", "dialogue:lt_surge.encounter.3"], - victory: ["dialogue:lt_surge.victory.1", "dialogue:lt_surge.victory.2", "dialogue:lt_surge.victory.3"], - defeat: ["dialogue:lt_surge.defeat.1", "dialogue:lt_surge.defeat.2", "dialogue:lt_surge.defeat.3"], + encounter: ["dialogue:ltSurge.encounter.1", "dialogue:ltSurge.encounter.2", "dialogue:ltSurge.encounter.3"], + victory: ["dialogue:ltSurge.victory.1", "dialogue:ltSurge.victory.2", "dialogue:ltSurge.victory.3"], + defeat: ["dialogue:ltSurge.defeat.1", "dialogue:ltSurge.defeat.2", "dialogue:ltSurge.defeat.3"], }, [TrainerType.ERIKA]: { encounter: [ @@ -1055,12 +1047,12 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { }, [TrainerType.CRASHER_WAKE]: { encounter: [ - "dialogue:crasher_wake.encounter.1", - "dialogue:crasher_wake.encounter.2", - "dialogue:crasher_wake.encounter.3", + "dialogue:crasherWake.encounter.1", + "dialogue:crasherWake.encounter.2", + "dialogue:crasherWake.encounter.3", ], - victory: ["dialogue:crasher_wake.victory.1", "dialogue:crasher_wake.victory.2", "dialogue:crasher_wake.victory.3"], - defeat: ["dialogue:crasher_wake.defeat.1", "dialogue:crasher_wake.defeat.2", "dialogue:crasher_wake.defeat.3"], + victory: ["dialogue:crasherWake.victory.1", "dialogue:crasherWake.victory.2", "dialogue:crasherWake.victory.3"], + defeat: ["dialogue:crasherWake.defeat.1", "dialogue:crasherWake.defeat.2", "dialogue:crasherWake.defeat.3"], }, [TrainerType.FALKNER]: { encounter: ["dialogue:falkner.encounter.1", "dialogue:falkner.encounter.2", "dialogue:falkner.encounter.3"], @@ -1354,9 +1346,9 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { defeat: ["dialogue:acerola.defeat.1"], }, [TrainerType.LARRY_ELITE]: { - encounter: ["dialogue:larry_elite.encounter.1"], - victory: ["dialogue:larry_elite.victory.1"], - defeat: ["dialogue:larry_elite.defeat.1"], + encounter: ["dialogue:larryElite.encounter.1"], + victory: ["dialogue:larryElite.victory.1"], + defeat: ["dialogue:larryElite.defeat.1"], }, [TrainerType.LANCE]: { encounter: ["dialogue:lance.encounter.1", "dialogue:lance.encounter.2"], @@ -1414,9 +1406,9 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { defeat: ["dialogue:jasmine.defeat.1"], }, [TrainerType.LANCE_CHAMPION]: { - encounter: ["dialogue:lance_champion.encounter.1"], - victory: ["dialogue:lance_champion.victory.1"], - defeat: ["dialogue:lance_champion.defeat.1"], + encounter: ["dialogue:lanceChampion.encounter.1"], + victory: ["dialogue:lanceChampion.victory.1"], + defeat: ["dialogue:lanceChampion.defeat.1"], }, [TrainerType.STEVEN]: { encounter: ["dialogue:steven.encounter.1"], @@ -1624,29 +1616,29 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { defeat: ["dialogue:grusha.defeat.1"], }, [TrainerType.MARNIE_ELITE]: { - encounter: ["dialogue:marnie_elite.encounter.1", "dialogue:marnie_elite.encounter.2"], - victory: ["dialogue:marnie_elite.victory.1", "dialogue:marnie_elite.victory.2"], - defeat: ["dialogue:marnie_elite.defeat.1", "dialogue:marnie_elite.defeat.2"], + encounter: ["dialogue:marnieElite.encounter.1", "dialogue:marnieElite.encounter.2"], + victory: ["dialogue:marnieElite.victory.1", "dialogue:marnieElite.victory.2"], + defeat: ["dialogue:marnieElite.defeat.1", "dialogue:marnieElite.defeat.2"], }, [TrainerType.NESSA_ELITE]: { - encounter: ["dialogue:nessa_elite.encounter.1", "dialogue:nessa_elite.encounter.2"], - victory: ["dialogue:nessa_elite.victory.1", "dialogue:nessa_elite.victory.2"], - defeat: ["dialogue:nessa_elite.defeat.1", "dialogue:nessa_elite.defeat.2"], + encounter: ["dialogue:nessaElite.encounter.1", "dialogue:nessaElite.encounter.2"], + victory: ["dialogue:nessaElite.victory.1", "dialogue:nessaElite.victory.2"], + defeat: ["dialogue:nessaElite.defeat.1", "dialogue:nessaElite.defeat.2"], }, [TrainerType.BEA_ELITE]: { - encounter: ["dialogue:bea_elite.encounter.1", "dialogue:bea_elite.encounter.2"], - victory: ["dialogue:bea_elite.victory.1", "dialogue:bea_elite.victory.2"], - defeat: ["dialogue:bea_elite.defeat.1", "dialogue:bea_elite.defeat.2"], + encounter: ["dialogue:beaElite.encounter.1", "dialogue:beaElite.encounter.2"], + victory: ["dialogue:beaElite.victory.1", "dialogue:beaElite.victory.2"], + defeat: ["dialogue:beaElite.defeat.1", "dialogue:beaElite.defeat.2"], }, [TrainerType.ALLISTER_ELITE]: { - encounter: ["dialogue:allister_elite.encounter.1", "dialogue:allister_elite.encounter.2"], - victory: ["dialogue:allister_elite.victory.1", "dialogue:allister_elite.victory.2"], - defeat: ["dialogue:allister_elite.defeat.1", "dialogue:allister_elite.defeat.2"], + encounter: ["dialogue:allisterElite.encounter.1", "dialogue:allisterElite.encounter.2"], + victory: ["dialogue:allisterElite.victory.1", "dialogue:allisterElite.victory.2"], + defeat: ["dialogue:allisterElite.defeat.1", "dialogue:allisterElite.defeat.2"], }, [TrainerType.RAIHAN_ELITE]: { - encounter: ["dialogue:raihan_elite.encounter.1", "dialogue:raihan_elite.encounter.2"], - victory: ["dialogue:raihan_elite.victory.1", "dialogue:raihan_elite.victory.2"], - defeat: ["dialogue:raihan_elite.defeat.1", "dialogue:raihan_elite.defeat.2"], + encounter: ["dialogue:raihanElite.encounter.1", "dialogue:raihanElite.encounter.2"], + victory: ["dialogue:raihanElite.victory.1", "dialogue:raihanElite.victory.2"], + defeat: ["dialogue:raihanElite.defeat.1", "dialogue:raihanElite.defeat.2"], }, [TrainerType.ALDER]: { encounter: ["dialogue:alder.encounter.1"], @@ -1664,62 +1656,62 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { victory: ["dialogue:rival.victory.1"], }, { - encounter: ["dialogue:rival_female.encounter.1"], - victory: ["dialogue:rival_female.victory.1"], + encounter: ["dialogue:rivalFemale.encounter.1"], + victory: ["dialogue:rivalFemale.victory.1"], }, ], [TrainerType.RIVAL_2]: [ { - encounter: ["dialogue:rival_2.encounter.1"], - victory: ["dialogue:rival_2.victory.1"], + encounter: ["dialogue:rival2.encounter.1"], + victory: ["dialogue:rival2.victory.1"], }, { - encounter: ["dialogue:rival_2_female.encounter.1"], - victory: ["dialogue:rival_2_female.victory.1"], - defeat: ["dialogue:rival_2_female.defeat.1"], + encounter: ["dialogue:rival2Female.encounter.1"], + victory: ["dialogue:rival2Female.victory.1"], + defeat: ["dialogue:rival2Female.defeat.1"], }, ], [TrainerType.RIVAL_3]: [ { - encounter: ["dialogue:rival_3.encounter.1"], - victory: ["dialogue:rival_3.victory.1"], + encounter: ["dialogue:rival3.encounter.1"], + victory: ["dialogue:rival3.victory.1"], }, { - encounter: ["dialogue:rival_3_female.encounter.1"], - victory: ["dialogue:rival_3_female.victory.1"], - defeat: ["dialogue:rival_3_female.defeat.1"], + encounter: ["dialogue:rival3Female.encounter.1"], + victory: ["dialogue:rival3Female.victory.1"], + defeat: ["dialogue:rival3Female.defeat.1"], }, ], [TrainerType.RIVAL_4]: [ { - encounter: ["dialogue:rival_4.encounter.1"], - victory: ["dialogue:rival_4.victory.1"], + encounter: ["dialogue:rival4.encounter.1"], + victory: ["dialogue:rival4.victory.1"], }, { - encounter: ["dialogue:rival_4_female.encounter.1"], - victory: ["dialogue:rival_4_female.victory.1"], - defeat: ["dialogue:rival_4_female.defeat.1"], + encounter: ["dialogue:rival4Female.encounter.1"], + victory: ["dialogue:rival4Female.victory.1"], + defeat: ["dialogue:rival4Female.defeat.1"], }, ], [TrainerType.RIVAL_5]: [ { - encounter: ["dialogue:rival_5.encounter.1"], - victory: ["dialogue:rival_5.victory.1"], + encounter: ["dialogue:rival5.encounter.1"], + victory: ["dialogue:rival5.victory.1"], }, { - encounter: ["dialogue:rival_5_female.encounter.1"], - victory: ["dialogue:rival_5_female.victory.1"], - defeat: ["dialogue:rival_5_female.defeat.1"], + encounter: ["dialogue:rival5Female.encounter.1"], + victory: ["dialogue:rival5Female.victory.1"], + defeat: ["dialogue:rival5Female.defeat.1"], }, ], [TrainerType.RIVAL_6]: [ { - encounter: ["dialogue:rival_6.encounter.1"], - victory: ["dialogue:rival_6.victory.1"], + encounter: ["dialogue:rival6.encounter.1"], + victory: ["dialogue:rival6.victory.1"], }, { - encounter: ["dialogue:rival_6_female.encounter.1"], - victory: ["dialogue:rival_6_female.victory.1"], + encounter: ["dialogue:rival6Female.encounter.1"], + victory: ["dialogue:rival6Female.victory.1"], }, ], }; diff --git a/src/data/double-battle-dialogue.ts b/src/data/double-battle-dialogue.ts index f15b74e4729..d4deee62037 100644 --- a/src/data/double-battle-dialogue.ts +++ b/src/data/double-battle-dialogue.ts @@ -2,43 +2,43 @@ // that caused this to be moved out in the first place export const doubleBattleDialogue = { blue_red_double: { - encounter: ["doubleBattleDialogue:blue_red_double.encounter.1"], - victory: ["doubleBattleDialogue:blue_red_double.victory.1"], + encounter: ["doubleBattleDialogue:blueRedDouble.encounter.1"], + victory: ["doubleBattleDialogue:blueRedDouble.victory.1"], }, red_blue_double: { - encounter: ["doubleBattleDialogue:red_blue_double.encounter.1"], - victory: ["doubleBattleDialogue:red_blue_double.victory.1"], + encounter: ["doubleBattleDialogue:redBlueDouble.encounter.1"], + victory: ["doubleBattleDialogue:redBlueDouble.victory.1"], }, tate_liza_double: { - encounter: ["doubleBattleDialogue:tate_liza_double.encounter.1"], - victory: ["doubleBattleDialogue:tate_liza_double.victory.1"], + encounter: ["doubleBattleDialogue:tateLizaDouble.encounter.1"], + victory: ["doubleBattleDialogue:tateLizaDouble.victory.1"], }, liza_tate_double: { - encounter: ["doubleBattleDialogue:liza_tate_double.encounter.1"], - victory: ["doubleBattleDialogue:liza_tate_double.victory.1"], + encounter: ["doubleBattleDialogue:lizaTateDouble.encounter.1"], + victory: ["doubleBattleDialogue:lizaTateDouble.victory.1"], }, wallace_steven_double: { - encounter: ["doubleBattleDialogue:wallace_steven_double.encounter.1"], - victory: ["doubleBattleDialogue:wallace_steven_double.victory.1"], + encounter: ["doubleBattleDialogue:wallaceStevenDouble.encounter.1"], + victory: ["doubleBattleDialogue:wallaceStevenDouble.victory.1"], }, steven_wallace_double: { - encounter: ["doubleBattleDialogue:steven_wallace_double.encounter.1"], - victory: ["doubleBattleDialogue:steven_wallace_double.victory.1"], + encounter: ["doubleBattleDialogue:stevenWallaceDouble.encounter.1"], + victory: ["doubleBattleDialogue:stevenWallaceDouble.victory.1"], }, alder_iris_double: { - encounter: ["doubleBattleDialogue:alder_iris_double.encounter.1"], - victory: ["doubleBattleDialogue:alder_iris_double.victory.1"], + encounter: ["doubleBattleDialogue:alderIrisDouble.encounter.1"], + victory: ["doubleBattleDialogue:alderIrisDouble.victory.1"], }, iris_alder_double: { - encounter: ["doubleBattleDialogue:iris_alder_double.encounter.1"], - victory: ["doubleBattleDialogue:iris_alder_double.victory.1"], + encounter: ["doubleBattleDialogue:irisAlderDouble.encounter.1"], + victory: ["doubleBattleDialogue:irisAlderDouble.victory.1"], }, marnie_piers_double: { - encounter: ["doubleBattleDialogue:marnie_piers_double.encounter.1"], - victory: ["doubleBattleDialogue:marnie_piers_double.victory.1"], + encounter: ["doubleBattleDialogue:marniePiersDouble.encounter.1"], + victory: ["doubleBattleDialogue:marniePiersDouble.victory.1"], }, piers_marnie_double: { - encounter: ["doubleBattleDialogue:piers_marnie_double.encounter.1"], - victory: ["doubleBattleDialogue:piers_marnie_double.victory.1"], + encounter: ["doubleBattleDialogue:piersMarnieDouble.encounter.1"], + victory: ["doubleBattleDialogue:piersMarnieDouble.victory.1"], }, }; diff --git a/src/data/egg-hatch-data.ts b/src/data/egg-hatch-data.ts index 6aead19eb7f..e78dc4d7984 100644 --- a/src/data/egg-hatch-data.ts +++ b/src/data/egg-hatch-data.ts @@ -47,6 +47,7 @@ export class EggHatchData { caughtCount: currDexEntry.caughtCount, hatchedCount: currDexEntry.hatchedCount, ivs: [...currDexEntry.ivs], + ribbons: currDexEntry.ribbons, }; this.starterDataEntryBeforeUpdate = { moveset: currStarterDataEntry.moveset, diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 067bd05c2ae..ffcd844224c 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -86,11 +86,11 @@ import { PokemonHealPhase } from "#phases/pokemon-heal-phase"; import { SwitchSummonPhase } from "#phases/switch-summon-phase"; import type { AttackMoveResult } from "#types/attack-move-result"; import type { Localizable } from "#types/locales"; -import type { ChargingMove, MoveAttrMap, MoveAttrString, MoveClassMap, MoveKindString } from "#types/move-types"; +import type { ChargingMove, MoveAttrMap, MoveAttrString, MoveClassMap, MoveKindString, MoveMessageFunc } from "#types/move-types"; import type { TurnMove } from "#types/turn-move"; import { BooleanHolder, type Constructor, isNullOrUndefined, NumberHolder, randSeedFloat, randSeedInt, randSeedItem, toDmgValue } from "#utils/common"; import { getEnumValues } from "#utils/enums"; -import { toTitleCase } from "#utils/strings"; +import { toCamelCase, toTitleCase } from "#utils/strings"; import i18next from "i18next"; import { applyChallenges } from "#utils/challenge-utils"; @@ -162,10 +162,16 @@ export abstract class Move implements Localizable { } localize(): void { - const i18nKey = MoveId[this.id].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join("") as unknown as string; + const i18nKey = toCamelCase(MoveId[this.id]) - this.name = this.id ? `${i18next.t(`move:${i18nKey}.name`)}${this.nameAppend}` : ""; - this.effect = this.id ? `${i18next.t(`move:${i18nKey}.effect`)}${this.nameAppend}` : ""; + if (this.id === MoveId.NONE) { + this.name = ""; + this.effect = "" + return; + } + + this.name = `${i18next.t(`move:${i18nKey}.name`)}${this.nameAppend}`; + this.effect = `${i18next.t(`move:${i18nKey}.effect`)}${this.nameAppend}`; } /** @@ -1357,20 +1363,20 @@ export class MoveHeaderAttr extends MoveAttr { /** * Header attribute to queue a message at the beginning of a turn. - * @see {@link MoveHeaderAttr} */ export class MessageHeaderAttr extends MoveHeaderAttr { - private message: string | ((user: Pokemon, move: Move) => string); + /** The message to display, or a function producing one. */ + private message: string | MoveMessageFunc; - constructor(message: string | ((user: Pokemon, move: Move) => string)) { + constructor(message: string | MoveMessageFunc) { super(); this.message = message; } - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + apply(user: Pokemon, target: Pokemon, move: Move): boolean { const message = typeof this.message === "string" ? this.message - : this.message(user, move); + : this.message(user, target, move); if (message) { globalScene.phaseManager.queueMessage(message); @@ -1418,21 +1424,21 @@ export class BeakBlastHeaderAttr extends AddBattlerTagHeaderAttr { */ export class PreMoveMessageAttr extends MoveAttr { /** The message to display or a function returning one */ - private message: string | ((user: Pokemon, target: Pokemon, move: Move) => string | undefined); + private message: string | MoveMessageFunc; /** * Create a new {@linkcode PreMoveMessageAttr} to display a message before move execution. - * @param message - The message to display before move use, either as a string or a function producing one. + * @param message - The message to display before move use, either` a literal string or a function producing one. * @remarks - * If {@linkcode message} evaluates to an empty string (`''`), no message will be displayed + * If {@linkcode message} evaluates to an empty string (`""`), no message will be displayed * (though the move will still succeed). */ - constructor(message: string | ((user: Pokemon, target: Pokemon, move: Move) => string)) { + constructor(message: string | MoveMessageFunc) { super(); this.message = message; } - apply(user: Pokemon, target: Pokemon, move: Move, _args: any[]): boolean { + apply(user: Pokemon, target: Pokemon, move: Move): boolean { const message = typeof this.message === "function" ? this.message(user, target, move) : this.message; @@ -1453,18 +1459,17 @@ export class PreMoveMessageAttr extends MoveAttr { * @extends MoveAttr */ export class PreUseInterruptAttr extends MoveAttr { - protected message?: string | ((user: Pokemon, target: Pokemon, move: Move) => string); - protected overridesFailedMessage: boolean; + protected message: string | MoveMessageFunc; protected conditionFunc: MoveConditionFunc; /** * Create a new MoveInterruptedMessageAttr. * @param message The message to display when the move is interrupted, or a function that formats the message based on the user, target, and move. */ - constructor(message?: string | ((user: Pokemon, target: Pokemon, move: Move) => string), conditionFunc?: MoveConditionFunc) { + constructor(message: string | MoveMessageFunc, conditionFunc: MoveConditionFunc) { super(); this.message = message; - this.conditionFunc = conditionFunc ?? (() => true); + this.conditionFunc = conditionFunc; } /** @@ -1485,11 +1490,9 @@ export class PreUseInterruptAttr extends MoveAttr { */ override getFailedText(user: Pokemon, target: Pokemon, move: Move): string | undefined { if (this.message && this.conditionFunc(user, target, move)) { - const message = - typeof this.message === "string" - ? (this.message as string) + return typeof this.message === "string" + ? this.message : this.message(user, target, move); - return message; } } } @@ -1694,17 +1697,30 @@ export class SurviveDamageAttr extends ModifiedDamageAttr { } } -export class SplashAttr extends MoveEffectAttr { - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:splash")); - return true; - } -} +/** + * Move attribute to display arbitrary text during a move's execution. + */ +export class MessageAttr extends MoveEffectAttr { + /** The message to display, either as a string or a function returning one. */ + private message: string | MoveMessageFunc; -export class CelebrateAttr extends MoveEffectAttr { - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:celebrate", { playerName: loggedInUser?.username })); - return true; + constructor(message: string | MoveMessageFunc, options?: MoveEffectAttrOptions) { + // TODO: Do we need to respect `selfTarget` if we're just displaying text? + super(false, options) + this.message = message; + } + + override apply(user: Pokemon, target: Pokemon, move: Move): boolean { + const message = typeof this.message === "function" + ? this.message(user, target, move) + : this.message; + + // TODO: Consider changing if/when MoveAttr `apply` return values become significant + if (message) { + globalScene.phaseManager.queueMessage(message, 500); + return true; + } + return false; } } @@ -5916,8 +5932,8 @@ export class ProtectAttr extends AddBattlerTagAttr { for (const turnMove of user.getLastXMoves(-1).slice()) { if ( // Quick & Wide guard increment the Protect counter without using it for fail chance - !(allMoves[turnMove.move].hasAttr("ProtectAttr") || - [MoveId.QUICK_GUARD, MoveId.WIDE_GUARD].includes(turnMove.move)) || + !(allMoves[turnMove.move].hasAttr("ProtectAttr") || + [MoveId.QUICK_GUARD, MoveId.WIDE_GUARD].includes(turnMove.move)) || turnMove.result !== MoveResult.SUCCESS ) { break; @@ -5931,38 +5947,6 @@ export class ProtectAttr extends AddBattlerTagAttr { } } -export class IgnoreAccuracyAttr extends AddBattlerTagAttr { - constructor() { - super(BattlerTagType.IGNORE_ACCURACY, true, false, 2); - } - - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (!super.apply(user, target, move, args)) { - return false; - } - - globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:tookAimAtTarget", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target) })); - - return true; - } -} - -export class FaintCountdownAttr extends AddBattlerTagAttr { - constructor() { - super(BattlerTagType.PERISH_SONG, false, true, 4); - } - - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (!super.apply(user, target, move, args)) { - return false; - } - - globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:faintCountdown", { pokemonName: getPokemonNameWithAffix(target), turnCount: this.turnCountMin - 1 })); - - return true; - } -} - /** * Attribute to remove all Substitutes from the field. * @extends MoveEffectAttr @@ -6603,8 +6587,10 @@ export class ChillyReceptionAttr extends ForceSwitchOutAttr { return (user, target, move) => globalScene.arena.weather?.weatherType !== WeatherType.SNOW || super.getSwitchOutCondition()(user, target, move); } } + export class RemoveTypeAttr extends MoveEffectAttr { + // TODO: Remove the message callback private removedType: PokemonType; private messageCallback: ((user: Pokemon) => void) | undefined; @@ -6689,7 +6675,7 @@ export class CopyBiomeTypeAttr extends MoveEffectAttr { user.summonData.types = [ typeChange ]; user.updateInfo(); - globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:transformedIntoType", { pokemonName: getPokemonNameWithAffix(user), typeName: i18next.t(`pokemonInfo:Type.${PokemonType[typeChange]}`) })); + globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:transformedIntoType", { pokemonName: getPokemonNameWithAffix(user), typeName: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[typeChange])}`) })); return true; } @@ -6817,7 +6803,7 @@ export class AddTypeAttr extends MoveEffectAttr { target.summonData.addedType = this.type; target.updateInfo(); - globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:addType", { typeName: i18next.t(`pokemonInfo:Type.${PokemonType[this.type]}`), pokemonName: getPokemonNameWithAffix(target) })); + globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:addType", { typeName: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.type])}`), pokemonName: getPokemonNameWithAffix(target) })); return true; } @@ -6839,7 +6825,7 @@ export class FirstMoveTypeAttr extends MoveEffectAttr { const firstMoveType = target.getMoveset()[0].getMove().type; user.summonData.types = [ firstMoveType ]; - globalScene.phaseManager.queueMessage(i18next.t("battle:transformedIntoType", { pokemonName: getPokemonNameWithAffix(user), type: i18next.t(`pokemonInfo:Type.${PokemonType[firstMoveType]}`) })); + globalScene.phaseManager.queueMessage(i18next.t("battle:transformedIntoType", { pokemonName: getPokemonNameWithAffix(user), type: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[firstMoveType])}`) })); return true; } @@ -8299,8 +8285,6 @@ const MoveAttrs = Object.freeze({ RandomLevelDamageAttr, ModifiedDamageAttr, SurviveDamageAttr, - SplashAttr, - CelebrateAttr, RecoilAttr, SacrificialAttr, SacrificialAttrOnHit, @@ -8443,8 +8427,7 @@ const MoveAttrs = Object.freeze({ RechargeAttr, TrapAttr, ProtectAttr, - IgnoreAccuracyAttr, - FaintCountdownAttr, + MessageAttr, RemoveAllSubstitutesAttr, HitsTagAttr, HitsTagForDoubleDamageAttr, @@ -8529,7 +8512,7 @@ export function initMoves() { .punchingMove(), new AttackMove(MoveId.SCRATCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), new AttackMove(MoveId.VISE_GRIP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 55, 100, 30, -1, 0, 1), - new AttackMove(MoveId.GUILLOTINE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) + new AttackMove(MoveId.GUILLOTINE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 250, 30, 5, -1, 0, 1) .attr(OneHitKOAttr) .attr(OneHitKOAccuracyAttr), new ChargingAttackMove(MoveId.RAZOR_WIND, PokemonType.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 1) @@ -8582,7 +8565,7 @@ export function initMoves() { new AttackMove(MoveId.HORN_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 65, 100, 25, -1, 0, 1), new AttackMove(MoveId.FURY_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1) .attr(MultiHitAttr), - new AttackMove(MoveId.HORN_DRILL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) + new AttackMove(MoveId.HORN_DRILL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 250, 30, 5, -1, 0, 1) .attr(OneHitKOAttr) .attr(OneHitKOAccuracyAttr), new AttackMove(MoveId.TACKLE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), @@ -8763,7 +8746,7 @@ export function initMoves() { .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.GRASSY && target.isGrounded() ? 0.5 : 1) .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(MoveId.FISSURE, PokemonType.GROUND, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) + new AttackMove(MoveId.FISSURE, PokemonType.GROUND, MoveCategory.PHYSICAL, 250, 30, 5, -1, 0, 1) .attr(OneHitKOAttr) .attr(OneHitKOAccuracyAttr) .attr(HitsTagAttr, BattlerTagType.UNDERGROUND) @@ -8938,7 +8921,7 @@ export function initMoves() { new AttackMove(MoveId.PSYWAVE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 15, -1, 0, 1) .attr(RandomLevelDamageAttr), new SelfStatusMove(MoveId.SPLASH, PokemonType.NORMAL, -1, 40, -1, 0, 1) - .attr(SplashAttr) + .attr(MessageAttr, i18next.t("moveTriggers:splash")) .condition(failOnGravityCondition), new SelfStatusMove(MoveId.ACID_ARMOR, PokemonType.POISON, -1, 20, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true), @@ -9000,7 +8983,10 @@ export function initMoves() { .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1) .reflectable(), new StatusMove(MoveId.MIND_READER, PokemonType.NORMAL, -1, 5, -1, 0, 2) - .attr(IgnoreAccuracyAttr), + .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_ACCURACY, true, false, 2) + .attr(MessageAttr, (user, target) => + i18next.t("moveTriggers:tookAimAtTarget", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target) }) + ), new StatusMove(MoveId.NIGHTMARE, PokemonType.GHOST, 100, 15, -1, 0, 2) .attr(AddBattlerTagAttr, BattlerTagType.NIGHTMARE) .condition(targetSleptOrComatoseCondition), @@ -9088,7 +9074,9 @@ export function initMoves() { return lastTurnMove.length === 0 || lastTurnMove[0].move !== move.id || lastTurnMove[0].result !== MoveResult.SUCCESS; }), new StatusMove(MoveId.PERISH_SONG, PokemonType.NORMAL, -1, 5, -1, 0, 2) - .attr(FaintCountdownAttr) + .attr(AddBattlerTagAttr, BattlerTagType.PERISH_SONG, false, true, 4) + .attr(MessageAttr, (_user, target) => + i18next.t("moveTriggers:faintCountdown", { pokemonName: getPokemonNameWithAffix(target), turnCount: 3 })) .ignoresProtect() .soundBased() .condition(failOnBossCondition) @@ -9104,7 +9092,10 @@ export function initMoves() { .attr(MultiHitAttr) .makesContact(false), new StatusMove(MoveId.LOCK_ON, PokemonType.NORMAL, -1, 5, -1, 0, 2) - .attr(IgnoreAccuracyAttr), + .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_ACCURACY, true, false, 2) + .attr(MessageAttr, (user, target) => + i18next.t("moveTriggers:tookAimAtTarget", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target) }) + ), new AttackMove(MoveId.OUTRAGE, PokemonType.DRAGON, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 2) .attr(FrenzyAttr) .attr(MissEffectAttr, frenzyMissFunc) @@ -9331,8 +9322,8 @@ export function initMoves() { && (user.status.effect === StatusEffect.BURN || user.status.effect === StatusEffect.POISON || user.status.effect === StatusEffect.TOXIC || user.status.effect === StatusEffect.PARALYSIS) ? 2 : 1) .attr(BypassBurnDamageReductionAttr), new AttackMove(MoveId.FOCUS_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 20, -1, -3, 3) - .attr(MessageHeaderAttr, (user, move) => i18next.t("moveTriggers:isTighteningFocus", { pokemonName: getPokemonNameWithAffix(user) })) - .attr(PreUseInterruptAttr, (user, target, move) => i18next.t("moveTriggers:lostFocus", { pokemonName: getPokemonNameWithAffix(user) }), user => !!user.turnData.attacksReceived.find(r => r.damage)) + .attr(MessageHeaderAttr, (user) => i18next.t("moveTriggers:isTighteningFocus", { pokemonName: getPokemonNameWithAffix(user) })) + .attr(PreUseInterruptAttr, (user) => i18next.t("moveTriggers:lostFocus", { pokemonName: getPokemonNameWithAffix(user) }), user => user.turnData.attacksReceived.some(r => r.damage > 0)) .punchingMove(), new AttackMove(MoveId.SMELLING_SALTS, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 3) .attr(MovePowerMultiplierAttr, (user, target, move) => target.status?.effect === StatusEffect.PARALYSIS ? 2 : 1) @@ -9537,7 +9528,7 @@ export function initMoves() { new AttackMove(MoveId.SAND_TOMB, PokemonType.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 3) .attr(TrapAttr, BattlerTagType.SAND_TOMB) .makesContact(false), - new AttackMove(MoveId.SHEER_COLD, PokemonType.ICE, MoveCategory.SPECIAL, 200, 30, 5, -1, 0, 3) + new AttackMove(MoveId.SHEER_COLD, PokemonType.ICE, MoveCategory.SPECIAL, 250, 30, 5, -1, 0, 3) .attr(IceNoEffectTypeAttr) .attr(OneHitKOAttr) .attr(SheerColdAccuracyAttr), @@ -10433,7 +10424,8 @@ export function initMoves() { new AttackMove(MoveId.DAZZLING_GLEAM, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6) .target(MoveTarget.ALL_NEAR_ENEMIES), new SelfStatusMove(MoveId.CELEBRATE, PokemonType.NORMAL, -1, 40, -1, 0, 6) - .attr(CelebrateAttr), + // NB: This needs a lambda function as the user will not be logged in by the time the moves are initialized + .attr(MessageAttr, () => i18next.t("moveTriggers:celebrate", { playerName: loggedInUser?.username })), new StatusMove(MoveId.HOLD_HANDS, PokemonType.NORMAL, -1, 40, -1, 0, 6) .ignoresSubstitute() .target(MoveTarget.NEAR_ALLY), @@ -10608,7 +10600,12 @@ export function initMoves() { .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .reflectable(), new SelfStatusMove(MoveId.LASER_FOCUS, PokemonType.NORMAL, -1, 30, -1, 0, 7) - .attr(AddBattlerTagAttr, BattlerTagType.ALWAYS_CRIT, true, false), + .attr(AddBattlerTagAttr, BattlerTagType.ALWAYS_CRIT, true, false) + .attr(MessageAttr, (user) => + i18next.t("battlerTags:laserFocusOnAdd", { + pokemonNameWithAffix: getPokemonNameWithAffix(user), + }), + ), new StatusMove(MoveId.GEAR_UP, PokemonType.STEEL, -1, 20, -1, 0, 7) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 1, false, { condition: (user, target, move) => !![ AbilityId.PLUS, AbilityId.MINUS ].find(a => target.hasAbility(a, false)) }) .ignoresSubstitute() diff --git a/src/data/moves/pokemon-move.ts b/src/data/moves/pokemon-move.ts index 3c96cbea598..cdb8d628be1 100644 --- a/src/data/moves/pokemon-move.ts +++ b/src/data/moves/pokemon-move.ts @@ -11,7 +11,7 @@ import { BooleanHolder, toDmgValue } from "#utils/common"; * 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 things like - * PP Ups recieved, PP used, etc. + * PP Ups received, PP used, etc. * @see {@linkcode isUsable} - checks if move is restricted, 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. diff --git a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts index ac3d4def654..66364bfc485 100644 --- a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts +++ b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts @@ -82,7 +82,7 @@ export const ATrainersTestEncounter: MysteryEncounter = MysteryEncounterBuilder. encounter.dialogue.intro = [ { speaker: `trainerNames:${trainerNameKey}`, - text: `${namespace}:${trainerNameKey}.intro_dialogue`, + text: `${namespace}:${trainerNameKey}.introDialogue`, }, ]; encounter.options[0].dialogue!.selected = [ diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index d6058eb9eaf..bf9c49e8c5b 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -237,7 +237,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde modifierConfigs: bossModifierConfigs, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(`${namespace}:option.1.boss_enraged`); + queueEncounterMessage(`${namespace}:option.1.bossEnraged`); globalScene.phaseManager.unshiftNew( "StatStageChangePhase", pokemon.getBattlerIndex(), @@ -300,7 +300,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde globalScene.addModifier(seedModifier, false, false, false, true); } }); - queueEncounterMessage(`${namespace}:option.1.food_stash`); + queueEncounterMessage(`${namespace}:option.1.foodStash`); }; setEncounterRewards({ fillRemaining: true }, undefined, givePartyPokemonReviverSeeds); diff --git a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts index 619acabe200..7d4fb0ef98f 100644 --- a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts +++ b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts @@ -71,7 +71,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterB text: `${namespace}:intro`, }, { - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, speaker: `${namespace}:speaker`, }, ]) @@ -152,7 +152,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterB .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`, + disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`, selected: [ { speaker: `${namespace}:speaker`, diff --git a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts index a827c3fcc0a..196ca873f4e 100644 --- a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts +++ b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts @@ -254,7 +254,7 @@ export const BerriesAboundEncounter: MysteryEncounter = MysteryEncounterBuilder. undefined, doBerryRewards, ); - await showEncounterText(`${namespace}:option.2.selected_bad`); + await showEncounterText(`${namespace}:option.2.selectedBad`); await initBattleWithEnemyConfig(config); return; } diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index c5553e9bb95..2f6b988f32e 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -198,7 +198,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]) .withOnInit(() => { @@ -312,7 +312,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, }) .withPreOptionPhase(async () => { // Player shows off their bug types @@ -333,7 +333,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde encounter.selectedOption!.dialogue!.selected = [ { speaker: `${namespace}:speaker`, - text: `${namespace}:option.2.selected_0_to_1`, + text: `${namespace}:option.2.selected0To1`, }, ]; } else if (numBugTypes < 4) { @@ -344,7 +344,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde encounter.selectedOption!.dialogue!.selected = [ { speaker: `${namespace}:speaker`, - text: `${namespace}:option.2.selected_2_to_3`, + text: `${namespace}:option.2.selected2To3`, }, ]; } else if (numBugTypes < 6) { @@ -355,7 +355,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde encounter.selectedOption!.dialogue!.selected = [ { speaker: `${namespace}:speaker`, - text: `${namespace}:option.2.selected_4_to_5`, + text: `${namespace}:option.2.selected4To5`, }, ]; } else { @@ -398,7 +398,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde encounter.selectedOption!.dialogue!.selected = [ { speaker: `${namespace}:speaker`, - text: `${namespace}:option.2.selected_6`, + text: `${namespace}:option.2.selected6`, }, ]; } @@ -421,17 +421,17 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, }, { speaker: `${namespace}:speaker`, - text: `${namespace}:option.3.selected_dialogue`, + text: `${namespace}:option.3.selectedDialogue`, }, ], - secondOptionPrompt: `${namespace}:option.3.select_prompt`, + secondOptionPrompt: `${namespace}:option.3.selectPrompt`, }) .withPreOptionPhase(async (): Promise => { const encounter = globalScene.currentBattle.mysteryEncounter!; @@ -476,7 +476,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde ); }); if (!hasValidItem) { - return getEncounterText(`${namespace}:option.3.invalid_selection`) ?? null; + return getEncounterText(`${namespace}:option.3.invalidSelection`) ?? null; } return null; @@ -713,7 +713,7 @@ function doBugTypeMoveTutor(): Promise { // biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO explain return new Promise(async resolve => { const moveOptions = globalScene.currentBattle.mysteryEncounter!.misc.moveTutorOptions; - await showEncounterDialogue(`${namespace}:battle_won`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:battleWon`, `${namespace}:speaker`); const moveInfoOverlay = new MoveInfoOverlay({ delayVisibility: false, @@ -748,7 +748,7 @@ function doBugTypeMoveTutor(): Promise { const result = await selectOptionThenPokemon( optionSelectItems, - `${namespace}:teach_move_prompt`, + `${namespace}:teachMovePrompt`, undefined, onHoverOverCancel, ); diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index 092cc4931af..09e59c7e391 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -119,7 +119,7 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder text: `${namespace}:intro`, }, { - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, speaker: `${namespace}:speaker`, }, ]) @@ -233,7 +233,7 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder // After the battle, offer the player the opportunity to permanently swap ability const abilityWasSwapped = await handleSwapAbility(); if (abilityWasSwapped) { - await showEncounterText(`${namespace}:option.1.ability_gained`); + await showEncounterText(`${namespace}:option.1.abilityGained`); } // Play animations once ability swap is complete @@ -267,10 +267,10 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder speaker: `${namespace}:speaker`, }, { - text: `${namespace}:option.2.selected_2`, + text: `${namespace}:option.2.selected2`, }, { - text: `${namespace}:option.2.selected_3`, + text: `${namespace}:option.2.selected3`, speaker: `${namespace}:speaker`, }, ], @@ -359,10 +359,10 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder speaker: `${namespace}:speaker`, }, { - text: `${namespace}:option.3.selected_2`, + text: `${namespace}:option.3.selected2`, }, { - text: `${namespace}:option.3.selected_3`, + text: `${namespace}:option.3.selected3`, speaker: `${namespace}:speaker`, }, ], @@ -432,8 +432,8 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder async function handleSwapAbility() { // biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO: Consider refactoring to avoid async promise executor return new Promise(async resolve => { - await showEncounterDialogue(`${namespace}:option.1.apply_ability_dialogue`, `${namespace}:speaker`); - await showEncounterText(`${namespace}:option.1.apply_ability_message`); + await showEncounterDialogue(`${namespace}:option.1.applyAbilityDialogue`, `${namespace}:speaker`); + await showEncounterText(`${namespace}:option.1.applyAbilityMessage`); globalScene.ui.setMode(UiMode.MESSAGE).then(() => { displayYesNoOptions(resolve); @@ -442,7 +442,7 @@ async function handleSwapAbility() { } function displayYesNoOptions(resolve) { - showEncounterText(`${namespace}:option.1.ability_prompt`, null, 500, false); + showEncounterText(`${namespace}:option.1.abilityPrompt`, null, 500, false); const fullOptions = [ { label: i18next.t("menu:yes"), diff --git a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts index 8dae0eaee3a..e2c330a1106 100644 --- a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts +++ b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts @@ -174,7 +174,7 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder // Gets +1 to all stats except SPD on battle start tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(`${namespace}:option.1.boss_enraged`); + queueEncounterMessage(`${namespace}:option.1.bossEnraged`); globalScene.phaseManager.unshiftNew( "StatStageChangePhase", pokemon.getBattlerIndex(), @@ -273,8 +273,8 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, - secondOptionPrompt: `${namespace}:option.3.select_prompt`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, + secondOptionPrompt: `${namespace}:option.3.selectPrompt`, selected: [ { text: `${namespace}:option.3.selected`, @@ -316,7 +316,7 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder } const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(pokemon); if (!meetsReqs) { - return getEncounterText(`${namespace}:invalid_selection`) ?? null; + return getEncounterText(`${namespace}:invalidSelection`) ?? null; } return null; diff --git a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts index d90e207cc9a..65d22bfc6de 100644 --- a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts +++ b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts @@ -99,6 +99,7 @@ export const DarkDealEncounter: MysteryEncounter = MysteryEncounterBuilder.withE MysteryEncounterType.DARK_DEAL, ) .withEncounterTier(MysteryEncounterTier.ROGUE) + .withDisallowedChallenges(Challenges.HARDCORE) .withIntroSpriteConfigs([ { spriteKey: "dark_deal_scientist", @@ -118,7 +119,7 @@ export const DarkDealEncounter: MysteryEncounter = MysteryEncounterBuilder.withE }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]) .withSceneWaveRangeRequirement(30, CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES[1]) @@ -136,10 +137,10 @@ export const DarkDealEncounter: MysteryEncounter = MysteryEncounterBuilder.withE selected: [ { speaker: `${namespace}:speaker`, - text: `${namespace}:option.1.selected_dialogue`, + text: `${namespace}:option.1.selectedDialogue`, }, { - text: `${namespace}:option.1.selected_message`, + text: `${namespace}:option.1.selectedMessage`, }, ], }) diff --git a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts index 85102a01ce1..8cd4c8bee66 100644 --- a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts +++ b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts @@ -193,7 +193,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - secondOptionPrompt: `${namespace}:option.2.select_prompt`, + secondOptionPrompt: `${namespace}:option.2.selectPrompt`, selected: [ { text: `${namespace}:option.2.selected`, @@ -229,7 +229,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with // If pokemon has valid item, it can be selected const meetsReqs = encounter.options[1].pokemonMeetsPrimaryRequirements(pokemon); if (!meetsReqs) { - return getEncounterText(`${namespace}:invalid_selection`) ?? null; + return getEncounterText(`${namespace}:invalidSelection`) ?? null; } return null; @@ -303,7 +303,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - secondOptionPrompt: `${namespace}:option.3.select_prompt`, + secondOptionPrompt: `${namespace}:option.3.selectPrompt`, selected: [ { text: `${namespace}:option.3.selected`, @@ -341,7 +341,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with // If pokemon has valid item, it can be selected const meetsReqs = encounter.options[2].pokemonMeetsPrimaryRequirements(pokemon); if (!meetsReqs) { - return getEncounterText(`${namespace}:invalid_selection`) ?? null; + return getEncounterText(`${namespace}:invalidSelection`) ?? null; } return null; diff --git a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts index a45c5301a3e..754e8c883e8 100644 --- a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts +++ b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts @@ -43,7 +43,7 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = MysteryEncounterBu text: `${namespace}:intro`, }, { - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, speaker: `${namespace}:speaker`, }, ]) diff --git a/src/data/mystery-encounters/encounters/field-trip-encounter.ts b/src/data/mystery-encounters/encounters/field-trip-encounter.ts index 0413c3d0e1d..67a7cad3466 100644 --- a/src/data/mystery-encounters/encounters/field-trip-encounter.ts +++ b/src/data/mystery-encounters/encounters/field-trip-encounter.ts @@ -56,7 +56,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with text: `${namespace}:intro`, }, { - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, speaker: `${namespace}:speaker`, }, ]) @@ -70,7 +70,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withDialogue({ buttonLabel: `${namespace}:option.1.label`, buttonTooltip: `${namespace}:option.1.tooltip`, - secondOptionPrompt: `${namespace}:second_option_prompt`, + secondOptionPrompt: `${namespace}:secondOptionPrompt`, }) .withPreOptionPhase(async (): Promise => { const encounter = globalScene.currentBattle.mysteryEncounter!; @@ -118,7 +118,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - secondOptionPrompt: `${namespace}:second_option_prompt`, + secondOptionPrompt: `${namespace}:secondOptionPrompt`, }) .withPreOptionPhase(async (): Promise => { const encounter = globalScene.currentBattle.mysteryEncounter!; @@ -166,7 +166,7 @@ export const FieldTripEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - secondOptionPrompt: `${namespace}:second_option_prompt`, + secondOptionPrompt: `${namespace}:secondOptionPrompt`, }) .withPreOptionPhase(async (): Promise => { const encounter = globalScene.currentBattle.mysteryEncounter!; @@ -226,7 +226,7 @@ function pokemonAndMoveChosen(pokemon: PlayerPokemon, move: PokemonMove, correct speaker: `${namespace}:speaker`, }, { - text: `${namespace}:incorrect_exp`, + text: `${namespace}:incorrectExp`, }, ]; setEncounterExp( @@ -243,7 +243,7 @@ function pokemonAndMoveChosen(pokemon: PlayerPokemon, move: PokemonMove, correct speaker: `${namespace}:speaker`, }, { - text: `${namespace}:correct_exp`, + text: `${namespace}:correctExp`, }, ]; setEncounterExp([pokemon.id], 100); diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index 7d2583a00cb..cc8e147f023 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -247,7 +247,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w // Burn applied encounter.setDialogueToken("burnedPokemon", chosenPokemon.getNameToRender()); encounter.setDialogueToken("abilityName", allAbilities[AbilityId.HEATPROOF].name); - queueEncounterMessage(`${namespace}:option.2.target_burned`); + queueEncounterMessage(`${namespace}:option.2.targetBurned`); // Also permanently change the burned Pokemon's ability to Heatproof applyAbilityOverrideToPokemon(chosenPokemon, AbilityId.HEATPROOF); @@ -269,7 +269,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, @@ -313,6 +313,6 @@ function giveLeadPokemonAttackTypeBoostItem() { const encounter = globalScene.currentBattle.mysteryEncounter!; encounter.setDialogueToken("itemName", boosterModifierType.name); encounter.setDialogueToken("leadPokemon", leadPokemon.getNameToRender()); - queueEncounterMessage(`${namespace}:found_item`); + queueEncounterMessage(`${namespace}:foundItem`); } } diff --git a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts index 6ee2ebcdf67..f7dc89b44fd 100644 --- a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts +++ b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts @@ -69,7 +69,7 @@ export const FightOrFlightEncounter: MysteryEncounter = MysteryEncounterBuilder. isBoss: true, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(`${namespace}:option.1.stat_boost`); + queueEncounterMessage(`${namespace}:option.1.statBoost`); // Randomly boost 1 stat 2 stages // Cannot boost Spd, Acc, or Evasion globalScene.phaseManager.unshiftNew( @@ -165,7 +165,7 @@ export const FightOrFlightEncounter: MysteryEncounter = MysteryEncounterBuilder. .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, selected: [ { text: `${namespace}:option.2.selected`, diff --git a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts index bf376c04843..d883fdbb567 100644 --- a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts +++ b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts @@ -78,7 +78,7 @@ export const FunAndGamesEncounter: MysteryEncounter = MysteryEncounterBuilder.wi .withIntroDialogue([ { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]) .setLocalizationKey(`${namespace}`) @@ -118,7 +118,7 @@ export const FunAndGamesEncounter: MysteryEncounter = MysteryEncounterBuilder.wi // Only Pokemon that are not KOed/legal can be selected const selectableFilter = (pokemon: Pokemon) => { - return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`); + return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`); }; return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter); @@ -132,7 +132,7 @@ export const FunAndGamesEncounter: MysteryEncounter = MysteryEncounterBuilder.wi const moneyCost = (encounter.options[0].requirements[0] as MoneyRequirement).requiredMoney; updatePlayerMoney(-moneyCost, true, false); await showEncounterText( - i18next.t("mysteryEncounterMessages:paid_money", { + i18next.t("mysteryEncounterMessages:paidMoney", { amount: moneyCost, }), ); @@ -284,25 +284,25 @@ function handleNextTurn() { guaranteedModifierTypeFuncs: [modifierTypes.MULTI_LENS], fillRemaining: false, }); - resultMessageKey = `${namespace}:best_result`; + resultMessageKey = `${namespace}:bestResult`; } else if (healthRatio < 0.15) { // 2nd prize setEncounterRewards({ guaranteedModifierTypeFuncs: [modifierTypes.SCOPE_LENS], fillRemaining: false, }); - resultMessageKey = `${namespace}:great_result`; + resultMessageKey = `${namespace}:greatResult`; } else if (healthRatio < 0.33) { // 3rd prize setEncounterRewards({ guaranteedModifierTypeFuncs: [modifierTypes.WIDE_LENS], fillRemaining: false, }); - resultMessageKey = `${namespace}:good_result`; + resultMessageKey = `${namespace}:goodResult`; } else { // No prize isHealPhase = true; - resultMessageKey = `${namespace}:bad_result`; + resultMessageKey = `${namespace}:badResult`; } // End the battle @@ -312,7 +312,7 @@ function handleNextTurn() { globalScene.currentBattle.mysteryEncounter!.doContinueEncounter = undefined; leaveEncounterWithoutBattle(isHealPhase); // Must end the TurnInit phase prematurely so battle phases aren't added to queue - queueEncounterMessage(`${namespace}:end_game`); + queueEncounterMessage(`${namespace}:endGame`); queueEncounterMessage(resultMessageKey); // Skip remainder of TurnInitPhase @@ -320,9 +320,9 @@ function handleNextTurn() { } if (encounter.misc.turnsRemaining < 3) { // Display charging messages on turns that aren't the initial turn - queueEncounterMessage(`${namespace}:charging_continue`); + queueEncounterMessage(`${namespace}:chargingContinue`); } - queueEncounterMessage(`${namespace}:turn_remaining_${encounter.misc.turnsRemaining}`); + queueEncounterMessage(`${namespace}:turnRemaining${encounter.misc.turnsRemaining}`); encounter.misc.turnsRemaining--; // Don't skip remainder of TurnInitPhase diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index ed49fccf190..11e5c036409 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -158,7 +158,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil .withDialogue({ buttonLabel: `${namespace}:option.1.label`, buttonTooltip: `${namespace}:option.1.tooltip`, - secondOptionPrompt: `${namespace}:option.1.trade_options_prompt`, + secondOptionPrompt: `${namespace}:option.1.tradeOptionsPrompt`, }) .withPreOptionPhase(async (): Promise => { const encounter = globalScene.currentBattle.mysteryEncounter!; @@ -248,7 +248,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil // Show the trade animation await showTradeBackground(); await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon); - await showEncounterText(`${namespace}:trade_received`, null, 0, true, 4000); + await showEncounterText(`${namespace}:tradeReceived`, null, 0, true, 4000); globalScene.playBgm(encounter.misc.bgmKey); await addPokemonDataToDexAndValidateAchievements(newPlayerPokemon); await hideTradeBackground(); @@ -369,7 +369,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil // Show the trade animation await showTradeBackground(); await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon); - await showEncounterText(`${namespace}:trade_received`, null, 0, true, 4000); + await showEncounterText(`${namespace}:tradeReceived`, null, 0, true, 4000); globalScene.playBgm(encounter.misc.bgmKey); await addPokemonDataToDexAndValidateAchievements(newPlayerPokemon); await hideTradeBackground(); @@ -384,7 +384,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - secondOptionPrompt: `${namespace}:option.3.trade_options_prompt`, + secondOptionPrompt: `${namespace}:option.3.tradeOptionsPrompt`, }) .withPreOptionPhase(async (): Promise => { const encounter = globalScene.currentBattle.mysteryEncounter!; @@ -416,7 +416,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil return it.isTransferable; }).length > 0; if (!meetsReqs) { - return getEncounterText(`${namespace}:option.3.invalid_selection`) ?? null; + return getEncounterText(`${namespace}:option.3.invalidSelection`) ?? null; } return null; @@ -468,7 +468,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil // Generate a trainer name const traderName = generateRandomTraderName(); encounter.setDialogueToken("tradeTrainerName", traderName.trim()); - await showEncounterText(`${namespace}:item_trade_selected`); + await showEncounterText(`${namespace}:itemTradeSelected`); leaveEncounterWithoutBattle(); }) .build(), @@ -740,10 +740,10 @@ function doPokemonTradeSequence(tradedPokemon: PlayerPokemon, receivedPokemon: P duration: 500, onComplete: async () => { globalScene.fadeOutBgm(1000, false); - await showEncounterText(`${namespace}:pokemon_trade_selected`); + await showEncounterText(`${namespace}:pokemonTradeSelected`); tradedPokemon.cry(); globalScene.playBgm("evolution"); - await showEncounterText(`${namespace}:pokemon_trade_goodbye`); + await showEncounterText(`${namespace}:pokemonTradeGoodbye`); tradedPokeball.setAlpha(0); tradedPokeball.setVisible(true); diff --git a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts index 10f45c21b68..f1c79208911 100644 --- a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts +++ b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts @@ -63,9 +63,9 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withPokemonCanLearnMoveRequirement(OPTION_1_REQUIRED_MOVE) .withDialogue({ buttonLabel: `${namespace}:option.1.label`, - disabledButtonLabel: `${namespace}:option.1.label_disabled`, + disabledButtonLabel: `${namespace}:option.1.labelDisabled`, buttonTooltip: `${namespace}:option.1.tooltip`, - disabledButtonTooltip: `${namespace}:option.1.tooltip_disabled`, + disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`, selected: [ { text: `${namespace}:option.1.selected`, @@ -81,9 +81,9 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withPokemonCanLearnMoveRequirement(OPTION_2_REQUIRED_MOVE) .withDialogue({ buttonLabel: `${namespace}:option.2.label`, - disabledButtonLabel: `${namespace}:option.2.label_disabled`, + disabledButtonLabel: `${namespace}:option.2.labelDisabled`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`, + disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`, selected: [ { text: `${namespace}:option.2.selected`, diff --git a/src/data/mystery-encounters/encounters/part-timer-encounter.ts b/src/data/mystery-encounters/encounters/part-timer-encounter.ts index a865de3b19d..bf1b077647a 100644 --- a/src/data/mystery-encounters/encounters/part-timer-encounter.ts +++ b/src/data/mystery-encounters/encounters/part-timer-encounter.ts @@ -58,7 +58,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]) .withOnInit(() => { @@ -128,7 +128,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with // Only Pokemon non-KOd pokemon can be selected const selectableFilter = (pokemon: Pokemon) => { - return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`); + return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`); }; return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter); @@ -142,18 +142,18 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with // Give money and do dialogue if (moneyMultiplier > 2.5) { - await showEncounterDialogue(`${namespace}:job_complete_good`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:jobCompleteGood`, `${namespace}:speaker`); } else { - await showEncounterDialogue(`${namespace}:job_complete_bad`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:jobCompleteBad`, `${namespace}:speaker`); } const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier); updatePlayerMoney(moneyChange, true, false); await showEncounterText( - i18next.t("mysteryEncounterMessages:receive_money", { + i18next.t("mysteryEncounterMessages:receiveMoney", { amount: moneyChange, }), ); - await showEncounterText(`${namespace}:pokemon_tired`); + await showEncounterText(`${namespace}:pokemonTired`); setEncounterRewards({ fillRemaining: true }); leaveEncounterWithoutBattle(); @@ -210,7 +210,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with // Only Pokemon non-KOd pokemon can be selected const selectableFilter = (pokemon: Pokemon) => { - return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`); + return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`); }; return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter); @@ -224,18 +224,18 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with // Give money and do dialogue if (moneyMultiplier > 2.5) { - await showEncounterDialogue(`${namespace}:job_complete_good`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:jobCompleteGood`, `${namespace}:speaker`); } else { - await showEncounterDialogue(`${namespace}:job_complete_bad`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:jobCompleteBad`, `${namespace}:speaker`); } const moneyChange = globalScene.getWaveMoneyAmount(moneyMultiplier); updatePlayerMoney(moneyChange, true, false); await showEncounterText( - i18next.t("mysteryEncounterMessages:receive_money", { + i18next.t("mysteryEncounterMessages:receiveMoney", { amount: moneyChange, }), ); - await showEncounterText(`${namespace}:pokemon_tired`); + await showEncounterText(`${namespace}:pokemonTired`); setEncounterRewards({ fillRemaining: true }); leaveEncounterWithoutBattle(); @@ -248,7 +248,7 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, @@ -282,15 +282,15 @@ export const PartTimerEncounter: MysteryEncounter = MysteryEncounterBuilder.with await transitionMysteryEncounterIntroVisuals(false, false); // Give money and do dialogue - await showEncounterDialogue(`${namespace}:job_complete_good`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:jobCompleteGood`, `${namespace}:speaker`); const moneyChange = globalScene.getWaveMoneyAmount(2.5); updatePlayerMoney(moneyChange, true, false); await showEncounterText( - i18next.t("mysteryEncounterMessages:receive_money", { + i18next.t("mysteryEncounterMessages:receiveMoney", { amount: moneyChange, }), ); - await showEncounterText(`${namespace}:pokemon_tired`); + await showEncounterText(`${namespace}:pokemonTired`); setEncounterRewards({ fillRemaining: true }); leaveEncounterWithoutBattle(); diff --git a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts index c3400b41327..764951877f0 100644 --- a/src/data/mystery-encounters/encounters/safari-zone-encounter.ts +++ b/src/data/mystery-encounters/encounters/safari-zone-encounter.ts @@ -205,7 +205,7 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ // 80% chance to increase flee stage +1 const fleeChangeResult = tryChangeFleeStage(1, 8); if (!fleeChangeResult) { - await showEncounterText(getEncounterText(`${namespace}:safari.busy_eating`) ?? "", null, 1000, false); + await showEncounterText(getEncounterText(`${namespace}:safari.busyEating`) ?? "", null, 1000, false); } else { await showEncounterText(getEncounterText(`${namespace}:safari.eating`) ?? "", null, 1000, false); } @@ -233,7 +233,7 @@ const safariZoneGameOptions: MysteryEncounterOption[] = [ // 80% chance to decrease catch stage -1 const catchChangeResult = tryChangeCatchStage(-1, 8); if (!catchChangeResult) { - await showEncounterText(getEncounterText(`${namespace}:safari.beside_itself_angry`) ?? "", null, 1000, false); + await showEncounterText(getEncounterText(`${namespace}:safari.besideItselfAngry`) ?? "", null, 1000, false); } else { await showEncounterText(getEncounterText(`${namespace}:safari.angry`) ?? "", null, 1000, false); } @@ -274,7 +274,7 @@ async function summonSafariPokemon() { const encounter = globalScene.currentBattle.mysteryEncounter!; // Message pokemon remaining encounter.setDialogueToken("remainingCount", encounter.misc.safariPokemonRemaining); - globalScene.phaseManager.queueMessage(getEncounterText(`${namespace}:safari.remaining_count`) ?? "", null, true); + globalScene.phaseManager.queueMessage(getEncounterText(`${namespace}:safari.remainingCount`) ?? "", null, true); // Generate pokemon using safariPokemonRemaining so they are always the same pokemon no matter how many turns are taken // Safari pokemon roll twice on shiny and HA chances, but are otherwise normal diff --git a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts index 47317c12b50..bf232c616d5 100644 --- a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts +++ b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts @@ -70,7 +70,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui text: `${namespace}:intro`, }, { - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, speaker: `${namespace}:speaker`, }, ]) @@ -119,7 +119,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui ); } if (!encounter.pokemonMeetsPrimaryRequirements(pokemon)) { - return getEncounterText(`${namespace}:invalid_selection`) ?? null; + return getEncounterText(`${namespace}:invalidSelection`) ?? null; } return null; @@ -155,7 +155,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui chosenPokemon.setCustomNature(newNature); encounter.setDialogueToken("newNature", getNatureName(newNature)); - queueEncounterMessage(`${namespace}:cheap_side_effects`); + queueEncounterMessage(`${namespace}:cheapSideEffects`); setEncounterExp([chosenPokemon.id], 100); await chosenPokemon.updateInfo(); }) @@ -193,7 +193,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui // Only Pokemon that can gain benefits are unfainted const selectableFilter = (pokemon: Pokemon) => { - return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`); + return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`); }; return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter); @@ -215,7 +215,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui const encounter = globalScene.currentBattle.mysteryEncounter!; const chosenPokemon = encounter.misc.chosenPokemon; - queueEncounterMessage(`${namespace}:no_bad_effects`); + queueEncounterMessage(`${namespace}:noBadEffects`); setEncounterExp([chosenPokemon.id], 100); await chosenPokemon.updateInfo(); diff --git a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts index cddfef1ef76..8c367882445 100644 --- a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts +++ b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts @@ -157,7 +157,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil // Fall asleep waiting for Snorlax // Full heal party globalScene.phaseManager.unshiftNew("PartyHealPhase", true); - queueEncounterMessage(`${namespace}:option.2.rest_result`); + queueEncounterMessage(`${namespace}:option.2.restResult`); leaveEncounterWithoutBattle(); }, ) @@ -167,7 +167,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, diff --git a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts index d77326837cd..58ab3f2ec2d 100644 --- a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts +++ b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts @@ -122,7 +122,7 @@ export const TeleportingHijinksEncounter: MysteryEncounter = MysteryEncounterBui .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, selected: [ { text: `${namespace}:option.2.selected`, @@ -227,7 +227,7 @@ async function doBiomeTransitionDialogueAndBattleInit() { isBoss: true, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(`${namespace}:boss_enraged`); + queueEncounterMessage(`${namespace}:bossEnraged`); globalScene.phaseManager.unshiftNew( "StatStageChangePhase", pokemon.getBattlerIndex(), diff --git a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts index 7c528e2305b..6d0ff11f07a 100644 --- a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts @@ -139,7 +139,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount }, { speaker: trainerNameKey, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]) .withOnInit(() => { @@ -189,13 +189,13 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount // Dialogue and egg calcs for Pokemon 1 const [pokemon1CommonEggs, pokemon1RareEggs] = calculateEggRewardsForPokemon(pokemon1); - let pokemon1Tooltip = getEncounterText(`${namespace}:option.1.tooltip_base`)!; + let pokemon1Tooltip = getEncounterText(`${namespace}:option.1.tooltipBase`)!; if (pokemon1RareEggs > 0) { const eggsText = i18next.t(`${namespace}:numEggs`, { count: pokemon1RareEggs, rarity: i18next.t("egg:greatTier"), }); - pokemon1Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { + pokemon1Tooltip += i18next.t(`${namespace}:eggsTooltip`, { eggs: eggsText, }); encounter.setDialogueToken("pokemon1RareEggs", eggsText); @@ -205,7 +205,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount count: pokemon1CommonEggs, rarity: i18next.t("egg:defaultTier"), }); - pokemon1Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { + pokemon1Tooltip += i18next.t(`${namespace}:eggsTooltip`, { eggs: eggsText, }); encounter.setDialogueToken("pokemon1CommonEggs", eggsText); @@ -214,13 +214,13 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount // Dialogue and egg calcs for Pokemon 2 const [pokemon2CommonEggs, pokemon2RareEggs] = calculateEggRewardsForPokemon(pokemon2); - let pokemon2Tooltip = getEncounterText(`${namespace}:option.2.tooltip_base`)!; + let pokemon2Tooltip = getEncounterText(`${namespace}:option.2.tooltipBase`)!; if (pokemon2RareEggs > 0) { const eggsText = i18next.t(`${namespace}:numEggs`, { count: pokemon2RareEggs, rarity: i18next.t("egg:greatTier"), }); - pokemon2Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { + pokemon2Tooltip += i18next.t(`${namespace}:eggsTooltip`, { eggs: eggsText, }); encounter.setDialogueToken("pokemon2RareEggs", eggsText); @@ -230,7 +230,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount count: pokemon2CommonEggs, rarity: i18next.t("egg:defaultTier"), }); - pokemon2Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { + pokemon2Tooltip += i18next.t(`${namespace}:eggsTooltip`, { eggs: eggsText, }); encounter.setDialogueToken("pokemon2CommonEggs", eggsText); @@ -239,13 +239,13 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount // Dialogue and egg calcs for Pokemon 3 const [pokemon3CommonEggs, pokemon3RareEggs] = calculateEggRewardsForPokemon(pokemon3); - let pokemon3Tooltip = getEncounterText(`${namespace}:option.3.tooltip_base`)!; + let pokemon3Tooltip = getEncounterText(`${namespace}:option.3.tooltipBase`)!; if (pokemon3RareEggs > 0) { const eggsText = i18next.t(`${namespace}:numEggs`, { count: pokemon3RareEggs, rarity: i18next.t("egg:greatTier"), }); - pokemon3Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { + pokemon3Tooltip += i18next.t(`${namespace}:eggsTooltip`, { eggs: eggsText, }); encounter.setDialogueToken("pokemon3RareEggs", eggsText); @@ -255,7 +255,7 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount count: pokemon3CommonEggs, rarity: i18next.t("egg:defaultTier"), }); - pokemon3Tooltip += i18next.t(`${namespace}:eggs_tooltip`, { + pokemon3Tooltip += i18next.t(`${namespace}:eggsTooltip`, { eggs: eggsText, }); encounter.setDialogueToken("pokemon3CommonEggs", eggsText); @@ -321,14 +321,14 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount ]; if (encounter.dialogueTokens.hasOwnProperty("pokemon1CommonEggs")) { encounter.dialogue.outro.push({ - text: i18next.t(`${namespace}:gained_eggs`, { + text: i18next.t(`${namespace}:gainedEggs`, { numEggs: encounter.dialogueTokens["pokemon1CommonEggs"], }), }); } if (encounter.dialogueTokens.hasOwnProperty("pokemon1RareEggs")) { encounter.dialogue.outro.push({ - text: i18next.t(`${namespace}:gained_eggs`, { + text: i18next.t(`${namespace}:gainedEggs`, { numEggs: encounter.dialogueTokens["pokemon1RareEggs"], }), }); @@ -380,14 +380,14 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount ]; if (encounter.dialogueTokens.hasOwnProperty("pokemon2CommonEggs")) { encounter.dialogue.outro.push({ - text: i18next.t(`${namespace}:gained_eggs`, { + text: i18next.t(`${namespace}:gainedEggs`, { numEggs: encounter.dialogueTokens["pokemon2CommonEggs"], }), }); } if (encounter.dialogueTokens.hasOwnProperty("pokemon2RareEggs")) { encounter.dialogue.outro.push({ - text: i18next.t(`${namespace}:gained_eggs`, { + text: i18next.t(`${namespace}:gainedEggs`, { numEggs: encounter.dialogueTokens["pokemon2RareEggs"], }), }); @@ -439,14 +439,14 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount ]; if (encounter.dialogueTokens.hasOwnProperty("pokemon3CommonEggs")) { encounter.dialogue.outro.push({ - text: i18next.t(`${namespace}:gained_eggs`, { + text: i18next.t(`${namespace}:gainedEggs`, { numEggs: encounter.dialogueTokens["pokemon3CommonEggs"], }), }); } if (encounter.dialogueTokens.hasOwnProperty("pokemon3RareEggs")) { encounter.dialogue.outro.push({ - text: i18next.t(`${namespace}:gained_eggs`, { + text: i18next.t(`${namespace}:gainedEggs`, { numEggs: encounter.dialogueTokens["pokemon3RareEggs"], }), }); @@ -482,7 +482,7 @@ function getPartyConfig(): EnemyPartyConfig { trainerType: TrainerType.EXPERT_POKEMON_BREEDER, pokemonConfigs: [ { - nickname: i18next.t(`${namespace}:cleffa_1_nickname`, { + nickname: i18next.t(`${namespace}:cleffa1Nickname`, { speciesName: getPokemonSpecies(cleffaSpecies).getName(), }), species: getPokemonSpecies(cleffaSpecies), @@ -501,7 +501,7 @@ function getPartyConfig(): EnemyPartyConfig { // All 3 members always Cleffa line, but different configs baseConfig.pokemonConfigs!.push( { - nickname: i18next.t(`${namespace}:cleffa_2_nickname`, { + nickname: i18next.t(`${namespace}:cleffa2Nickname`, { speciesName: getPokemonSpecies(cleffaSpecies).getName(), }), species: getPokemonSpecies(cleffaSpecies), @@ -514,7 +514,7 @@ function getPartyConfig(): EnemyPartyConfig { ivs: [31, 31, 31, 31, 31, 31], }, { - nickname: i18next.t(`${namespace}:cleffa_3_nickname`, { + nickname: i18next.t(`${namespace}:cleffa3Nickname`, { speciesName: getPokemonSpecies(cleffaSpecies).getName(), }), species: getPokemonSpecies(cleffaSpecies), @@ -647,7 +647,7 @@ function onGameOver() { encounter.dialogue.outro = [ { speaker: trainerNameKey, - text: `${namespace}:outro_failed`, + text: `${namespace}:outroFailed`, }, ]; diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index 91662993a51..99f6e671052 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -66,7 +66,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui text: `${namespace}:intro`, }, { - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, speaker: `${namespace}:speaker`, }, ]) @@ -178,8 +178,8 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui // Always max price for shiny (flip HA back to normal), and add special messaging priceMultiplier = MAX_POKEMON_PRICE_MULTIPLIER; pokemon.abilityIndex = 0; - encounter.dialogue.encounterOptionsDialogue!.description = `${namespace}:description_shiny`; - encounter.options[0].dialogue!.buttonTooltip = `${namespace}:option.1.tooltip_shiny`; + encounter.dialogue.encounterOptionsDialogue!.description = `${namespace}:descriptionShiny`; + encounter.options[0].dialogue!.buttonTooltip = `${namespace}:option.1.tooltipShiny`; } const price = globalScene.getWaveMoneyAmount(priceMultiplier); encounter.setDialogueToken("purchasePokemon", pokemon.getNameToRender()); @@ -202,7 +202,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui buttonTooltip: `${namespace}:option.1.tooltip`, selected: [ { - text: `${namespace}:option.1.selected_message`, + text: `${namespace}:option.1.selectedMessage`, }, ], }) @@ -215,7 +215,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui updatePlayerMoney(-price, true, false); // Show dialogue - await showEncounterDialogue(`${namespace}:option.1.selected_dialogue`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:option.1.selectedDialogue`, `${namespace}:speaker`); await transitionMysteryEncounterIntroVisuals(); // "Catch" purchased pokemon diff --git a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts index 568dc5de8b1..89bfc659944 100644 --- a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts @@ -115,7 +115,7 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder ], tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(`${namespace}:option.2.stat_boost`); + queueEncounterMessage(`${namespace}:option.2.statBoost`); globalScene.phaseManager.unshiftNew( "StatStageChangePhase", pokemon.getBattlerIndex(), @@ -181,7 +181,7 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder encounter.setDialogueToken("reductionValue", HIGH_BST_REDUCTION_VALUE.toString()); encounter.setDialogueToken("increaseValue", BST_INCREASE_VALUE.toString()); - await showEncounterText(`${namespace}:option.1.selected_2`, null, undefined, true); + await showEncounterText(`${namespace}:option.1.selected2`, null, undefined, true); encounter.dialogue.outro = [ { diff --git a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts index e17bf0575d7..71fe961f053 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -87,7 +87,7 @@ export const TheWinstrateChallengeEncounter: MysteryEncounter = MysteryEncounter }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]) .withAutoHideIntroVisuals(false) @@ -163,7 +163,7 @@ async function spawnNextTrainerOrEndEncounter() { globalScene.playSound("item_fanfare"); await showEncounterText(i18next.t("battle:rewardGain", { modifierName: newModifier?.type.name })); - await showEncounterDialogue(`${namespace}:victory_2`, `${namespace}:speaker`); + await showEncounterDialogue(`${namespace}:victory2`, `${namespace}:speaker`); globalScene.ui.clearText(); // Clears "Winstrate" title from screen as rewards get animated in const machoBrace = generateModifierTypeOption(modifierTypes.MYSTERY_ENCOUNTER_MACHO_BRACE)!; machoBrace.type.tier = ModifierTier.MASTER; diff --git a/src/data/mystery-encounters/encounters/training-session-encounter.ts b/src/data/mystery-encounters/encounters/training-session-encounter.ts index e56c42a3ee5..b8173aa5fed 100644 --- a/src/data/mystery-encounters/encounters/training-session-encounter.ts +++ b/src/data/mystery-encounters/encounters/training-session-encounter.ts @@ -90,7 +90,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde // Only Pokemon that are not KOed/legal can be trained const selectableFilter = (pokemon: Pokemon) => { - return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`); + return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`); }; return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter); @@ -174,7 +174,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - secondOptionPrompt: `${namespace}:option.2.select_prompt`, + secondOptionPrompt: `${namespace}:option.2.selectPrompt`, selected: [ { text: `${namespace}:option.selected`, @@ -205,7 +205,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde // Only Pokemon that are not KOed/legal can be trained const selectableFilter = (pokemon: Pokemon) => { - return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`); + return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`); }; return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter); @@ -248,7 +248,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - secondOptionPrompt: `${namespace}:option.3.select_prompt`, + secondOptionPrompt: `${namespace}:option.3.selectPrompt`, selected: [ { text: `${namespace}:option.selected`, @@ -295,7 +295,7 @@ export const TrainingSessionEncounter: MysteryEncounter = MysteryEncounterBuilde // Only Pokemon that are not KOed/legal can be trained const selectableFilter = (pokemon: Pokemon) => { - return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalid_selection`); + return isPokemonValidForEncounterOptionSelection(pokemon, `${namespace}:invalidSelection`); }; return selectPokemonForOption(onPokemonSelected, undefined, selectableFilter); diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index 74a36a280d3..84567844a04 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -194,7 +194,7 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde .withOptionPhase(async () => { // Investigate garbage, battle Gmax Garbodor globalScene.setFieldScale(0.75); - await showEncounterText(`${namespace}:option.2.selected_2`); + await showEncounterText(`${namespace}:option.2.selected2`); await transitionMysteryEncounterIntroVisuals(); const encounter = globalScene.currentBattle.mysteryEncounter!; diff --git a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts index c9e2ffedeec..6aeff852de7 100644 --- a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts +++ b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts @@ -97,7 +97,7 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder. isBoss: false, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { - queueEncounterMessage(`${namespace}:option.1.stat_boost`); + queueEncounterMessage(`${namespace}:option.1.statBoost`); globalScene.phaseManager.unshiftNew( "StatStageChangePhase", pokemon.getBattlerIndex(), @@ -191,7 +191,7 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder. .withDialogue({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, selected: [ { text: `${namespace}:option.2.selected`, @@ -236,7 +236,7 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder. .withDialogue({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index 57b066e2ba2..790bdf0dbef 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -143,7 +143,7 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]) .setLocalizationKey(`${namespace}`) @@ -216,7 +216,7 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit await cutsceneDialoguePromise; doHideDreamBackground(); - await showEncounterText(`${namespace}:option.1.dream_complete`); + await showEncounterText(`${namespace}:option.1.dreamComplete`); await doNewTeamPostProcess(transformations); setEncounterRewards({ @@ -329,7 +329,7 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit onBeforeRewards, ); - await showEncounterText(`${namespace}:option.2.selected_2`, null, undefined, true); + await showEncounterText(`${namespace}:option.2.selected2`, null, undefined, true); await initBattleWithEnemyConfig(enemyPartyConfig); }, ) diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index b599f923534..5c976cbc8cd 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -467,7 +467,7 @@ export function updatePlayerMoney(changeValue: number, playSound = true, showMes if (showMessage) { if (changeValue < 0) { globalScene.phaseManager.queueMessage( - i18next.t("mysteryEncounterMessages:paid_money", { + i18next.t("mysteryEncounterMessages:paidMoney", { amount: -changeValue, }), null, @@ -475,7 +475,7 @@ export function updatePlayerMoney(changeValue: number, playSound = true, showMes ); } else { globalScene.phaseManager.queueMessage( - i18next.t("mysteryEncounterMessages:receive_money", { + i18next.t("mysteryEncounterMessages:receiveMoney", { amount: changeValue, }), null, @@ -587,7 +587,7 @@ export function selectPokemonForOption( return true; }, onHover: () => { - showEncounterText(i18next.t("mysteryEncounterMessages:cancel_option"), 0, 0, false); + showEncounterText(i18next.t("mysteryEncounterMessages:cancelOption"), 0, 0, false); }, }); @@ -720,7 +720,7 @@ export function selectOptionThenPokemon( if (onHoverOverCancelOption) { onHoverOverCancelOption(); } - showEncounterText(i18next.t("mysteryEncounterMessages:cancel_option"), 0, 0, false); + showEncounterText(i18next.t("mysteryEncounterMessages:cancelOption"), 0, 0, false); }, }); diff --git a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts index 7617fb5a89e..0c6a8e25452 100644 --- a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts @@ -673,6 +673,8 @@ export async function catchPokemon( globalScene.gameData.updateSpeciesDexIvs(pokemon.species.getRootSpeciesId(true), pokemon.ivs); return new Promise(resolve => { + const addStatus = new BooleanHolder(true); + applyChallenges(ChallengeType.POKEMON_ADD_TO_PARTY, pokemon, addStatus); const doPokemonCatchMenu = () => { const end = () => { // Ensure the pokemon is in the enemy party in all situations @@ -708,9 +710,7 @@ export async function catchPokemon( }); }; Promise.all([pokemon.hideInfo(), globalScene.gameData.setPokemonCaught(pokemon)]).then(() => { - const addStatus = new BooleanHolder(true); - applyChallenges(ChallengeType.POKEMON_ADD_TO_PARTY, pokemon, addStatus); - if (!addStatus.value) { + if (!(isObtain || addStatus.value)) { removePokemon(); end(); return; @@ -807,10 +807,16 @@ export async function catchPokemon( }; if (showCatchObtainMessage) { + let catchMessage: string; + if (isObtain) { + catchMessage = "battle:pokemonObtained"; + } else if (addStatus.value) { + catchMessage = "battle:pokemonCaught"; + } else { + catchMessage = "battle:pokemonCaughtButChallenge"; + } globalScene.ui.showText( - i18next.t(isObtain ? "battle:pokemonObtained" : "battle:pokemonCaught", { - pokemonName: pokemon.getNameToRender(), - }), + i18next.t(catchMessage, { pokemonName: pokemon.getNameToRender() }), null, doPokemonCatchMenu, 0, diff --git a/src/data/nature.ts b/src/data/nature.ts index b085faebb80..65e401cd288 100644 --- a/src/data/nature.ts +++ b/src/data/nature.ts @@ -3,7 +3,7 @@ import { EFFECTIVE_STATS, getShortenedStatKey, Stat } from "#enums/stat"; import { TextStyle } from "#enums/text-style"; import { UiTheme } from "#enums/ui-theme"; import { getBBCodeFrag } from "#ui/text"; -import { toTitleCase } from "#utils/strings"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; export function getNatureName( @@ -13,7 +13,7 @@ export function getNatureName( ignoreBBCode = false, uiTheme: UiTheme = UiTheme.DEFAULT, ): string { - let ret = toTitleCase(Nature[nature]); + let ret = toCamelCase(Nature[nature]); //Translating nature if (i18next.exists(`nature:${ret}`)) { ret = i18next.t(`nature:${ret}` as any); diff --git a/src/data/pokemon-forms/form-change-triggers.ts b/src/data/pokemon-forms/form-change-triggers.ts index 75734bf085b..7c042b27058 100644 --- a/src/data/pokemon-forms/form-change-triggers.ts +++ b/src/data/pokemon-forms/form-change-triggers.ts @@ -12,6 +12,7 @@ import { WeatherType } from "#enums/weather-type"; import type { Pokemon } from "#field/pokemon"; import type { PokemonFormChangeItemModifier } from "#modifiers/modifier"; import { type Constructor, coerceArray } from "#utils/common"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; export abstract class SpeciesFormChangeTrigger { @@ -29,7 +30,7 @@ export abstract class SpeciesFormChangeTrigger { export class SpeciesFormChangeManualTrigger extends SpeciesFormChangeTrigger {} export class SpeciesFormChangeAbilityTrigger extends SpeciesFormChangeTrigger { - public description: string = i18next.t("pokemonEvolutions:Forms.ability"); + public description: string = i18next.t("pokemonEvolutions:forms.ability"); } export class SpeciesFormChangeCompoundTrigger { @@ -68,10 +69,10 @@ export class SpeciesFormChangeItemTrigger extends SpeciesFormChangeTrigger { this.item = item; this.active = active; this.description = this.active - ? i18next.t("pokemonEvolutions:Forms.item", { + ? i18next.t("pokemonEvolutions:forms.item", { item: i18next.t(`modifierType:FormChangeItem.${FormChangeItem[this.item]}`), }) - : i18next.t("pokemonEvolutions:Forms.deactivateItem", { + : i18next.t("pokemonEvolutions:forms.deactivateItem", { item: i18next.t(`modifierType:FormChangeItem.${FormChangeItem[this.item]}`), }); } @@ -96,7 +97,7 @@ export class SpeciesFormChangeTimeOfDayTrigger extends SpeciesFormChangeTrigger constructor(...timesOfDay: TimeOfDay[]) { super(); this.timesOfDay = timesOfDay; - this.description = i18next.t("pokemonEvolutions:Forms.timeOfDay"); + this.description = i18next.t("pokemonEvolutions:orms.timeOfDay"); } canChange(_pokemon: Pokemon): boolean { @@ -110,8 +111,8 @@ export class SpeciesFormChangeActiveTrigger extends SpeciesFormChangeTrigger { super(); this.active = active; this.description = this.active - ? i18next.t("pokemonEvolutions:Forms.enter") - : i18next.t("pokemonEvolutions:Forms.leave"); + ? i18next.t("pokemonEvolutions:forms.enter") + : i18next.t("pokemonEvolutions:forms.leave"); } canChange(pokemon: Pokemon): boolean { @@ -127,7 +128,7 @@ export class SpeciesFormChangeStatusEffectTrigger extends SpeciesFormChangeTrigg super(); this.statusEffects = coerceArray(statusEffects); this.invert = invert; - // this.description = i18next.t("pokemonEvolutions:Forms.statusEffect"); + // this.description = i18next.t("pokemonEvolutions:forms.statusEffect"); } canChange(pokemon: Pokemon): boolean { @@ -143,16 +144,12 @@ export class SpeciesFormChangeMoveLearnedTrigger extends SpeciesFormChangeTrigge super(); this.move = move; this.known = known; - const moveKey = MoveId[this.move] - .split("_") - .filter(f => f) - .map((f, i) => (i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase())) - .join("") as unknown as string; + const moveKey = toCamelCase(MoveId[this.move]); this.description = known - ? i18next.t("pokemonEvolutions:Forms.moveLearned", { + ? i18next.t("pokemonEvolutions:forms.moveLearned", { move: i18next.t(`move:${moveKey}.name`), }) - : i18next.t("pokemonEvolutions:Forms.moveForgotten", { + : i18next.t("pokemonEvolutions:forms.moveForgotten", { move: i18next.t(`move:${moveKey}.name`), }); } @@ -174,7 +171,7 @@ export abstract class SpeciesFormChangeMoveTrigger extends SpeciesFormChangeTrig } export class SpeciesFormChangePreMoveTrigger extends SpeciesFormChangeMoveTrigger { - description = i18next.t("pokemonEvolutions:Forms.preMove"); + description = i18next.t("pokemonEvolutions:forms.preMove"); canChange(pokemon: Pokemon): boolean { const command = globalScene.currentBattle.turnCommands[pokemon.getBattlerIndex()]; return !!command?.move && this.movePredicate(command.move.move) === this.used; @@ -182,7 +179,7 @@ export class SpeciesFormChangePreMoveTrigger extends SpeciesFormChangeMoveTrigge } export class SpeciesFormChangePostMoveTrigger extends SpeciesFormChangeMoveTrigger { - description = i18next.t("pokemonEvolutions:Forms.postMove"); + description = i18next.t("pokemonEvolutions:forms.postMove"); canChange(pokemon: Pokemon): boolean { return ( pokemon.summonData && !!pokemon.getLastXMoves(1).filter(m => this.movePredicate(m.move)).length === this.used @@ -247,7 +244,7 @@ export class SpeciesFormChangeWeatherTrigger extends SpeciesFormChangeTrigger { super(); this.ability = ability; this.weathers = weathers; - this.description = i18next.t("pokemonEvolutions:Forms.weather"); + this.description = i18next.t("pokemonEvolutions:forms.weather"); } /** @@ -285,7 +282,7 @@ export class SpeciesFormChangeRevertWeatherFormTrigger extends SpeciesFormChange super(); this.ability = ability; this.weathers = weathers; - this.description = i18next.t("pokemonEvolutions:Forms.weatherRevert"); + this.description = i18next.t("pokemonEvolutions:forms.weatherRevert"); } /** diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 7bfe02d9086..064ad57cfb3 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -778,7 +778,7 @@ export class PokemonSpecies extends PokemonSpeciesForm implements Localizable { } if (key) { - return i18next.t(`battlePokemonForm:${key}`, { + return i18next.t(`battlePokemonForm:${toCamelCase(key)}`, { pokemonName: this.name, }); } @@ -810,7 +810,9 @@ export class PokemonSpecies extends PokemonSpeciesForm implements Localizable { return this.name; // Other special cases could be put here too } // Everything beyond this point essentially follows the pattern of FORMNAME_SPECIES - return i18next.t(`pokemonForm:appendForm.${SpeciesId[this.speciesId].split("_")[0]}`, { pokemonName: this.name }); + return i18next.t(`pokemonForm:appendForm.${toCamelCase(SpeciesId[this.speciesId].split("_")[0])}`, { + pokemonName: this.name, + }); } /** @@ -827,7 +829,7 @@ export class PokemonSpecies extends PokemonSpeciesForm implements Localizable { const region = this.getRegion(); if (this.speciesId === SpeciesId.ARCEUS) { - ret = i18next.t(`pokemonInfo:Type.${formText.toUpperCase()}`); + ret = i18next.t(`pokemonInfo:type.${toCamelCase(formText)}`); } else if ( [ SpeciesFormKey.MEGA, @@ -841,8 +843,8 @@ export class PokemonSpecies extends PokemonSpeciesForm implements Localizable { ].includes(formKey as SpeciesFormKey) ) { return append - ? i18next.t(`battlePokemonForm:${formKey}`, { pokemonName: this.name }) - : i18next.t(`pokemonForm:battleForm.${formKey}`); + ? i18next.t(`battlePokemonForm:${toCamelCase(formKey)}`, { pokemonName: this.name }) + : i18next.t(`pokemonForm:battleForm.${toCamelCase(formKey)}`); } else if ( region === Region.NORMAL || (this.speciesId === SpeciesId.GALAR_DARMANITAN && formIndex > 0) || @@ -868,10 +870,10 @@ export class PokemonSpecies extends PokemonSpeciesForm implements Localizable { return i18next.t("pokemonForm:ursalunaBloodmoon"); } else { // Only regional forms should be left at this point - return i18next.t(`pokemonForm:regionalForm.${Region[region]}`); + return i18next.t(`pokemonForm:regionalForm.${toCamelCase(Region[region])}`); } return append - ? i18next.t("pokemonForm:appendForm.GENERIC", { + ? i18next.t("pokemonForm:appendForm.generic", { pokemonName: this.name, formName: ret, }) @@ -879,8 +881,8 @@ export class PokemonSpecies extends PokemonSpeciesForm implements Localizable { } localize(): void { - this.name = i18next.t(`pokemon:${SpeciesId[this.speciesId].toLowerCase()}`); - this.category = i18next.t(`pokemonCategory:${SpeciesId[this.speciesId].toLowerCase()}_category`); + this.name = i18next.t(`pokemon:${toCamelCase(SpeciesId[this.speciesId])}`); + this.category = i18next.t(`pokemonCategory:${toCamelCase(SpeciesId[this.speciesId])}Category`); } getWildSpeciesForLevel(level: number, allowEvolving: boolean, isBoss: boolean, gameMode: GameMode): SpeciesId { diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index d29b40e0972..67618df1ddd 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -1865,27 +1865,43 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 0, getRandomPartyMemberFunc([ + SpeciesId.METAPOD, + SpeciesId.LEDYBA, + SpeciesId.CLEFFA, + SpeciesId.WOOPER, + SpeciesId.TEDDIURSA, + SpeciesId.REMORAID, + SpeciesId.HOUNDOUR, + SpeciesId.SILCOON, SpeciesId.PLUSLE, SpeciesId.VOLBEAT, - SpeciesId.PACHIRISU, - SpeciesId.SILCOON, - SpeciesId.METAPOD, - SpeciesId.IGGLYBUFF, + SpeciesId.SPINDA, + SpeciesId.BONSLY, SpeciesId.PETILIL, - SpeciesId.EEVEE, + SpeciesId.SPRITZEE, + SpeciesId.MILCERY, + SpeciesId.PICHU, ]), ) .setPartyMemberFunc( 1, getRandomPartyMemberFunc( [ + SpeciesId.KAKUNA, + SpeciesId.SPINARAK, + SpeciesId.IGGLYBUFF, + SpeciesId.PALDEA_WOOPER, + SpeciesId.PHANPY, + SpeciesId.MANTYKE, + SpeciesId.ELECTRIKE, + SpeciesId.CASCOON, SpeciesId.MINUN, SpeciesId.ILLUMISE, - SpeciesId.EMOLGA, - SpeciesId.CASCOON, - SpeciesId.KAKUNA, - SpeciesId.CLEFFA, + SpeciesId.SPINDA, + SpeciesId.MIME_JR, SpeciesId.COTTONEE, + SpeciesId.SWIRLIX, + SpeciesId.FIDOUGH, SpeciesId.EEVEE, ], TrainerSlot.TRAINER_PARTNER, diff --git a/src/enums/stat.ts b/src/enums/stat.ts index a2b81b7e64b..72ccc065850 100644 --- a/src/enums/stat.ts +++ b/src/enums/stat.ts @@ -64,7 +64,7 @@ export function getStatStageChangeDescriptionKey(stages: number, isIncrease: boo * @returns the translation key corresponding to the given {@linkcode Stat} */ export function getStatKey(stat: Stat) { - return `pokemonInfo:Stat.${Stat[stat]}`; + return `pokemonInfo:stat.${Stat[stat].toLowerCase()}`; } /** @@ -73,5 +73,5 @@ export function getStatKey(stat: Stat) { * @returns the translation key corresponding to the given {@linkcode Stat} */ export function getShortenedStatKey(stat: PermanentStat) { - return `pokemonInfo:Stat.${Stat[stat]}shortened`; + return `pokemonInfo:stat.${Stat[stat].toLowerCase()}Shortened`; } diff --git a/src/enums/ui-mode.ts b/src/enums/ui-mode.ts index bc93e747be2..75c07a5f63c 100644 --- a/src/enums/ui-mode.ts +++ b/src/enums/ui-mode.ts @@ -38,6 +38,7 @@ export enum UiMode { UNAVAILABLE, CHALLENGE_SELECT, RENAME_POKEMON, + RENAME_RUN, RUN_HISTORY, RUN_INFO, TEST_DIALOGUE, diff --git a/src/field/arena.ts b/src/field/arena.ts index 06ba6fdd334..1b6b165b8a3 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -54,7 +54,7 @@ export class Arena { public bgm: string; public ignoreAbilities: boolean; public ignoringEffectSource: BattlerIndex | null; - public playerTerasUsed: number; + public playerTerasUsed = 0; /** * Saves the number of times a party pokemon faints during a arena encounter. * {@linkcode globalScene.currentBattle.enemyFaints} is the corresponding faint counter for the enemy (this resets every wave). @@ -68,12 +68,11 @@ export class Arena { public readonly eventTarget: EventTarget = new EventTarget(); - constructor(biome: BiomeId, bgm: string, playerFaints = 0) { + constructor(biome: BiomeId, playerFaints = 0) { this.biomeType = biome; - this.bgm = bgm; + this.bgm = BiomeId[biome].toLowerCase(); this.trainerPool = biomeTrainerPools[biome]; this.updatePoolsForTimeOfDay(); - this.playerTerasUsed = 0; this.playerFaints = playerFaints; } @@ -895,7 +894,7 @@ export class Arena { case BiomeId.CAVE: return 14.24; case BiomeId.DESERT: - return 1.143; + return 9.02; case BiomeId.ICE_CAVE: return 0.0; case BiomeId.MEADOW: @@ -913,7 +912,7 @@ export class Arena { case BiomeId.RUINS: return 0.0; case BiomeId.WASTELAND: - return 6.336; + return 6.024; case BiomeId.ABYSS: return 20.113; case BiomeId.SPACE: @@ -923,7 +922,7 @@ export class Arena { case BiomeId.JUNGLE: return 0.0; case BiomeId.FAIRY_CAVE: - return 4.542; + return 0.0; case BiomeId.TEMPLE: return 2.547; case BiomeId.ISLAND: diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index fe85e92772c..3a5d435fb36 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1,7 +1,7 @@ import type { Ability, PreAttackModifyDamageAbAttrParams } from "#abilities/ability"; import { applyAbAttrs, applyOnGainAbAttrs, applyOnLoseAbAttrs } from "#abilities/apply-ab-attrs"; import type { AnySound, BattleScene } from "#app/battle-scene"; -import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; +import { PLAYER_PARTY_MAX_SIZE, RARE_CANDY_FRIENDSHIP_CAP } from "#app/constants"; import { timedEventManager } from "#app/global-event-manager"; import { globalScene } from "#app/global-scene"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -39,6 +39,7 @@ import { TrappedTag, TypeImmuneTag, } from "#data/battler-tags"; +import { getDailyEventSeedBoss } from "#data/daily-run"; import { allAbilities, allMoves } from "#data/data-lists"; import { getLevelTotalExp } from "#data/exp"; import { @@ -138,6 +139,8 @@ import { populateVariantColors, variantColorCache, variantData } from "#sprites/ import { achvs } from "#system/achv"; import type { StarterDataEntry, StarterMoveset } from "#system/game-data"; import type { PokemonData } from "#system/pokemon-data"; +import { RibbonData } from "#system/ribbons/ribbon-data"; +import { awardRibbonsToSpeciesLine } from "#system/ribbons/ribbon-methods"; import type { AbAttrMap, AbAttrString, TypeMultiplierAbAttrParams } from "#types/ability-types"; import type { DamageCalculationResult, DamageResult } from "#types/damage-result"; import type { IllusionData } from "#types/illusion-data"; @@ -1824,7 +1827,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { // Overrides moveset based on arrays specified in overrides.ts let overrideArray: MoveId | Array = this.isPlayer() ? Overrides.MOVESET_OVERRIDE - : Overrides.OPP_MOVESET_OVERRIDE; + : Overrides.ENEMY_MOVESET_OVERRIDE; overrideArray = coerceArray(overrideArray); if (overrideArray.length > 0) { if (!this.isPlayer()) { @@ -2029,8 +2032,8 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { if (Overrides.ABILITY_OVERRIDE && this.isPlayer()) { return allAbilities[Overrides.ABILITY_OVERRIDE]; } - if (Overrides.OPP_ABILITY_OVERRIDE && this.isEnemy()) { - return allAbilities[Overrides.OPP_ABILITY_OVERRIDE]; + if (Overrides.ENEMY_ABILITY_OVERRIDE && this.isEnemy()) { + return allAbilities[Overrides.ENEMY_ABILITY_OVERRIDE]; } if (this.isFusion()) { if (!isNullOrUndefined(this.fusionCustomPokemonData?.ability) && this.fusionCustomPokemonData.ability !== -1) { @@ -2059,8 +2062,8 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { if (Overrides.PASSIVE_ABILITY_OVERRIDE && this.isPlayer()) { return allAbilities[Overrides.PASSIVE_ABILITY_OVERRIDE]; } - if (Overrides.OPP_PASSIVE_ABILITY_OVERRIDE && this.isEnemy()) { - return allAbilities[Overrides.OPP_PASSIVE_ABILITY_OVERRIDE]; + if (Overrides.ENEMY_PASSIVE_ABILITY_OVERRIDE && this.isEnemy()) { + return allAbilities[Overrides.ENEMY_PASSIVE_ABILITY_OVERRIDE]; } if (!isNullOrUndefined(this.customPokemonData.passive) && this.customPokemonData.passive !== -1) { return allAbilities[this.customPokemonData.passive]; @@ -2127,14 +2130,14 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { // returns override if valid for current case if ( (Overrides.HAS_PASSIVE_ABILITY_OVERRIDE === false && this.isPlayer()) || - (Overrides.OPP_HAS_PASSIVE_ABILITY_OVERRIDE === false && this.isEnemy()) + (Overrides.ENEMY_HAS_PASSIVE_ABILITY_OVERRIDE === false && this.isEnemy()) ) { return false; } if ( ((Overrides.PASSIVE_ABILITY_OVERRIDE !== AbilityId.NONE || Overrides.HAS_PASSIVE_ABILITY_OVERRIDE) && this.isPlayer()) || - ((Overrides.OPP_PASSIVE_ABILITY_OVERRIDE !== AbilityId.NONE || Overrides.OPP_HAS_PASSIVE_ABILITY_OVERRIDE) && + ((Overrides.ENEMY_PASSIVE_ABILITY_OVERRIDE !== AbilityId.NONE || Overrides.ENEMY_HAS_PASSIVE_ABILITY_OVERRIDE) && this.isEnemy()) ) { return true; @@ -3000,8 +3003,8 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { if (forStarter && this.isPlayer() && Overrides.STARTER_FUSION_SPECIES_OVERRIDE) { fusionOverride = getPokemonSpecies(Overrides.STARTER_FUSION_SPECIES_OVERRIDE); - } else if (this.isEnemy() && Overrides.OPP_FUSION_SPECIES_OVERRIDE) { - fusionOverride = getPokemonSpecies(Overrides.OPP_FUSION_SPECIES_OVERRIDE); + } else if (this.isEnemy() && Overrides.ENEMY_FUSION_SPECIES_OVERRIDE) { + fusionOverride = getPokemonSpecies(Overrides.ENEMY_FUSION_SPECIES_OVERRIDE); } this.fusionSpecies = @@ -5821,45 +5824,59 @@ export class PlayerPokemon extends Pokemon { ); }); } - - addFriendship(friendship: number): void { - if (friendship > 0) { - const starterSpeciesId = this.species.getRootSpeciesId(); - const fusionStarterSpeciesId = this.isFusion() && this.fusionSpecies ? this.fusionSpecies.getRootSpeciesId() : 0; - const starterData = [ - globalScene.gameData.starterData[starterSpeciesId], - fusionStarterSpeciesId ? globalScene.gameData.starterData[fusionStarterSpeciesId] : null, - ].filter(d => !!d); - const amount = new NumberHolder(friendship); - globalScene.applyModifier(PokemonFriendshipBoosterModifier, true, this, amount); - const candyFriendshipMultiplier = globalScene.gameMode.isClassic - ? timedEventManager.getClassicFriendshipMultiplier() - : 1; - const fusionReduction = fusionStarterSpeciesId - ? timedEventManager.areFusionsBoosted() - ? 1.5 // Divide candy gain for fusions by 1.5 during events - : 2 // 2 for fusions outside events - : 1; // 1 for non-fused mons - const starterAmount = new NumberHolder(Math.floor((amount.value * candyFriendshipMultiplier) / fusionReduction)); - - // Add friendship to this PlayerPokemon - this.friendship = Math.min(this.friendship + amount.value, 255); - if (this.friendship === 255) { - globalScene.validateAchv(achvs.MAX_FRIENDSHIP); - } - // Add to candy progress for this mon's starter species and its fused species (if it has one) - starterData.forEach((sd: StarterDataEntry, i: number) => { - const speciesId = !i ? starterSpeciesId : (fusionStarterSpeciesId as SpeciesId); - sd.friendship = (sd.friendship || 0) + starterAmount.value; - if (sd.friendship >= getStarterValueFriendshipCap(speciesStarterCosts[speciesId])) { - globalScene.gameData.addStarterCandy(getPokemonSpecies(speciesId), 1); - sd.friendship = 0; - } - }); - } else { - // Lose friendship upon fainting + /** + * Add friendship to this Pokemon + * + * @remarks + * This adds friendship to the pokemon's friendship stat (used for evolution, return, etc.) and candy progress. + * For fusions, candy progress for each species in the fusion is halved. + * + * @param friendship - The amount of friendship to add. Negative values will reduce friendship, though not below 0. + * @param capped - If true, don't allow the friendship gain to exceed 200. Used to cap friendship gains from rare candies. + */ + addFriendship(friendship: number, capped = false): void { + // Short-circuit friendship loss, which doesn't impact candy friendship + if (friendship <= 0) { this.friendship = Math.max(this.friendship + friendship, 0); + return; } + + const starterSpeciesId = this.species.getRootSpeciesId(); + const fusionStarterSpeciesId = this.isFusion() && this.fusionSpecies ? this.fusionSpecies.getRootSpeciesId() : 0; + const starterGameData = globalScene.gameData.starterData; + const starterData: [StarterDataEntry, SpeciesId][] = [[starterGameData[starterSpeciesId], starterSpeciesId]]; + if (fusionStarterSpeciesId) { + starterData.push([starterGameData[fusionStarterSpeciesId], fusionStarterSpeciesId]); + } + const amount = new NumberHolder(friendship); + globalScene.applyModifier(PokemonFriendshipBoosterModifier, true, this, amount); + friendship = amount.value; + + const newFriendship = this.friendship + friendship; + // If capped is true, only adjust friendship if the new friendship is less than or equal to 200. + if (!capped || newFriendship <= RARE_CANDY_FRIENDSHIP_CAP) { + this.friendship = Math.min(newFriendship, 255); + if (newFriendship >= 255) { + globalScene.validateAchv(achvs.MAX_FRIENDSHIP); + awardRibbonsToSpeciesLine(this.species.speciesId, RibbonData.FRIENDSHIP); + } + } + + let candyFriendshipMultiplier = globalScene.gameMode.isClassic + ? timedEventManager.getClassicFriendshipMultiplier() + : 1; + if (fusionStarterSpeciesId) { + candyFriendshipMultiplier /= timedEventManager.areFusionsBoosted() ? 1.5 : 2; + } + const candyFriendshipAmount = Math.floor(friendship * candyFriendshipMultiplier); + // Add to candy progress for this mon's starter species and its fused species (if it has one) + starterData.forEach(([sd, id]: [StarterDataEntry, SpeciesId]) => { + sd.friendship = (sd.friendship || 0) + candyFriendshipAmount; + if (sd.friendship >= getStarterValueFriendshipCap(speciesStarterCosts[id])) { + globalScene.gameData.addStarterCandy(getPokemonSpecies(id), 1); + sd.friendship = 0; + } + }); } getPossibleEvolution(evolution: SpeciesFormEvolution | null): Promise { @@ -6240,41 +6257,46 @@ export class EnemyPokemon extends Pokemon { this.setBoss(boss, dataSource?.bossSegments); } - if (Overrides.OPP_STATUS_OVERRIDE) { - this.status = new Status(Overrides.OPP_STATUS_OVERRIDE, 0, 4); + if (Overrides.ENEMY_STATUS_OVERRIDE) { + this.status = new Status(Overrides.ENEMY_STATUS_OVERRIDE, 0, 4); } - if (Overrides.OPP_GENDER_OVERRIDE !== null) { - this.gender = Overrides.OPP_GENDER_OVERRIDE; + if (Overrides.ENEMY_GENDER_OVERRIDE !== null) { + this.gender = Overrides.ENEMY_GENDER_OVERRIDE; } const speciesId = this.species.speciesId; if ( - speciesId in Overrides.OPP_FORM_OVERRIDES && - !isNullOrUndefined(Overrides.OPP_FORM_OVERRIDES[speciesId]) && - this.species.forms[Overrides.OPP_FORM_OVERRIDES[speciesId]] + speciesId in Overrides.ENEMY_FORM_OVERRIDES && + !isNullOrUndefined(Overrides.ENEMY_FORM_OVERRIDES[speciesId]) && + this.species.forms[Overrides.ENEMY_FORM_OVERRIDES[speciesId]] ) { - this.formIndex = Overrides.OPP_FORM_OVERRIDES[speciesId]; + this.formIndex = Overrides.ENEMY_FORM_OVERRIDES[speciesId]; + } else if (globalScene.gameMode.isDaily && globalScene.gameMode.isWaveFinal(globalScene.currentBattle.waveIndex)) { + const eventBoss = getDailyEventSeedBoss(globalScene.seed); + if (!isNullOrUndefined(eventBoss)) { + this.formIndex = eventBoss.formIndex; + } } if (!dataSource) { this.generateAndPopulateMoveset(); - if (shinyLock || Overrides.OPP_SHINY_OVERRIDE === false) { + if (shinyLock || Overrides.ENEMY_SHINY_OVERRIDE === false) { this.shiny = false; } else { this.trySetShiny(); } - if (!this.shiny && Overrides.OPP_SHINY_OVERRIDE) { + if (!this.shiny && Overrides.ENEMY_SHINY_OVERRIDE) { this.shiny = true; this.initShinySparkle(); } if (this.shiny) { this.variant = this.generateShinyVariant(); - if (Overrides.OPP_VARIANT_OVERRIDE !== null) { - this.variant = Overrides.OPP_VARIANT_OVERRIDE; + if (Overrides.ENEMY_VARIANT_OVERRIDE !== null) { + this.variant = Overrides.ENEMY_VARIANT_OVERRIDE; } } diff --git a/src/game-mode.ts b/src/game-mode.ts index 82f7b4fa77f..b44e786b3d9 100644 --- a/src/game-mode.ts +++ b/src/game-mode.ts @@ -3,7 +3,7 @@ import { CHALLENGE_MODE_MYSTERY_ENCOUNTER_WAVES, CLASSIC_MODE_MYSTERY_ENCOUNTER_ import { globalScene } from "#app/global-scene"; import Overrides from "#app/overrides"; import { allChallenges, type Challenge, copyChallenge } from "#data/challenge"; -import { getDailyStartingBiome } from "#data/daily-run"; +import { getDailyEventSeedBoss, getDailyStartingBiome } from "#data/daily-run"; import { allSpecies } from "#data/data-lists"; import type { PokemonSpecies } from "#data/pokemon-species"; import { BiomeId } from "#enums/biome-id"; @@ -15,6 +15,7 @@ import type { Arena } from "#field/arena"; import { classicFixedBattles, type FixedBattleConfigs } from "#trainers/fixed-battle-configs"; import { applyChallenges } from "#utils/challenge-utils"; import { BooleanHolder, isNullOrUndefined, randSeedInt, randSeedItem } from "#utils/common"; +import { getPokemonSpecies } from "#utils/pokemon-utils"; import i18next from "i18next"; interface GameModeConfig { @@ -211,6 +212,12 @@ export class GameMode implements GameModeConfig { getOverrideSpecies(waveIndex: number): PokemonSpecies | null { if (this.isDaily && this.isWaveFinal(waveIndex)) { + const eventBoss = getDailyEventSeedBoss(globalScene.seed); + if (!isNullOrUndefined(eventBoss)) { + // Cannot set form index here, it will be overriden when adding it as enemy pokemon. + return getPokemonSpecies(eventBoss.speciesId); + } + const allFinalBossSpecies = allSpecies.filter( s => (s.subLegendary || s.legendary || s.mythical) && diff --git a/src/loading-scene.ts b/src/loading-scene.ts index ef63fd472cf..0a42fc3fa7d 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -90,6 +90,7 @@ export class LoadingScene extends SceneBase { this.loadAtlas("shiny_icons", "ui"); this.loadImage("ha_capsule", "ui", "ha_capsule.png"); this.loadImage("champion_ribbon", "ui", "champion_ribbon.png"); + this.loadImage("champion_ribbon_emerald", "ui", "champion_ribbon_emerald.png"); this.loadImage("icon_spliced", "ui"); this.loadImage("icon_lock", "ui", "icon_lock.png"); this.loadImage("icon_stop", "ui", "icon_stop.png"); @@ -122,6 +123,7 @@ export class LoadingScene extends SceneBase { this.loadImage("party_bg_double", "ui"); this.loadImage("party_bg_double_manage", "ui"); this.loadAtlas("party_slot_main", "ui"); + this.loadAtlas("party_slot_main_short", "ui"); this.loadAtlas("party_slot", "ui"); this.loadImage("party_slot_overlay_lv", "ui"); this.loadImage("party_slot_hp_bar", "ui"); @@ -447,7 +449,9 @@ export class LoadingScene extends SceneBase { ); if (!mobile) { - loadingGraphics.map(g => g.setVisible(false)); + loadingGraphics.forEach(g => { + g.setVisible(false); + }); } const intro = this.add.video(0, 0); diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 46ed7e1e4b5..8b77900cb62 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -6,6 +6,7 @@ import Overrides from "#app/overrides"; import { EvolutionItem, pokemonEvolutions } from "#balance/pokemon-evolutions"; import { tmPoolTiers, tmSpecies } from "#balance/tms"; import { getBerryEffectDescription, getBerryName } from "#data/berry"; +import { getDailyEventSeedLuck } from "#data/daily-run"; import { allMoves, modifierTypes } from "#data/data-lists"; import { SpeciesFormChangeItemTrigger } from "#data/form-change-triggers"; import { getNatureName, getNatureStatMultiplier } from "#data/nature"; @@ -129,6 +130,7 @@ import { } from "#utils/common"; import { getEnumKeys, getEnumValues } from "#utils/enums"; import { getModifierPoolForType, getModifierType } from "#utils/modifier-utils"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; const outputModifierData = false; @@ -450,13 +452,13 @@ export class TerastallizeModifierType extends PokemonModifierType { get name(): string { return i18next.t("modifierType:ModifierType.TerastallizeModifierType.name", { - teraType: i18next.t(`pokemonInfo:Type.${PokemonType[this.teraType]}`), + teraType: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.teraType])}`), }); } getDescription(): string { return i18next.t("modifierType:ModifierType.TerastallizeModifierType.description", { - teraType: i18next.t(`pokemonInfo:Type.${PokemonType[this.teraType]}`), + teraType: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.teraType])}`), }); } @@ -860,7 +862,7 @@ export class AttackTypeBoosterModifierType getDescription(): string { // TODO: Need getTypeName? return i18next.t("modifierType:ModifierType.AttackTypeBoosterModifierType.description", { - moveType: i18next.t(`pokemonInfo:Type.${PokemonType[this.moveType]}`), + moveType: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.moveType])}`), }); } @@ -2921,6 +2923,12 @@ export function getPartyLuckValue(party: Pokemon[]): number { const DailyLuck = new NumberHolder(0); globalScene.executeWithSeedOffset( () => { + const eventLuck = getDailyEventSeedLuck(globalScene.seed); + if (!isNullOrUndefined(eventLuck)) { + DailyLuck.value = eventLuck; + return; + } + DailyLuck.value = randSeedInt(15); // Random number between 0 and 14 }, 0, @@ -2928,6 +2936,7 @@ export function getPartyLuckValue(party: Pokemon[]): number { ); return DailyLuck.value; } + const eventSpecies = timedEventManager.getEventLuckBoostedSpecies(); const luck = Phaser.Math.Clamp( party diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 6907b6907ca..076e2656b5c 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -121,8 +121,8 @@ export class ModifierBar extends Phaser.GameObjects.Container { } updateModifierOverflowVisibility(ignoreLimit: boolean) { - const modifierIcons = this.getAll().reverse(); - for (const modifier of modifierIcons.map(m => m as Phaser.GameObjects.Container).slice(iconOverflowIndex)) { + const modifierIcons = this.getAll().reverse() as Phaser.GameObjects.Container[]; + for (const modifier of modifierIcons.slice(iconOverflowIndex)) { modifier.setVisible(ignoreLimit); } } @@ -2304,7 +2304,7 @@ export class PokemonLevelIncrementModifier extends ConsumablePokemonModifier { playerPokemon.levelExp = 0; } - playerPokemon.addFriendship(FRIENDSHIP_GAIN_FROM_RARE_CANDY); + playerPokemon.addFriendship(FRIENDSHIP_GAIN_FROM_RARE_CANDY, true); globalScene.phaseManager.unshiftNew( "LevelUpPhase", @@ -3755,7 +3755,7 @@ export class EnemyFusionChanceModifier extends EnemyPersistentModifier { export function overrideModifiers(isPlayer = true): void { const modifiersOverride: ModifierOverride[] = isPlayer ? Overrides.STARTING_MODIFIER_OVERRIDE - : Overrides.OPP_MODIFIER_OVERRIDE; + : Overrides.ENEMY_MODIFIER_OVERRIDE; if (!modifiersOverride || modifiersOverride.length === 0 || !globalScene) { return; } @@ -3797,7 +3797,7 @@ export function overrideModifiers(isPlayer = true): void { export function overrideHeldItems(pokemon: Pokemon, isPlayer = true): void { const heldItemsOverride: ModifierOverride[] = isPlayer ? Overrides.STARTING_HELD_ITEMS_OVERRIDE - : Overrides.OPP_HELD_ITEMS_OVERRIDE; + : Overrides.ENEMY_HELD_ITEMS_OVERRIDE; if (!heldItemsOverride || heldItemsOverride.length === 0 || !globalScene) { return; } diff --git a/src/overrides.ts b/src/overrides.ts index de0d1d3f30a..48d7428cad9 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -179,25 +179,24 @@ class DefaultOverrides { // -------------------------- // OPPONENT / ENEMY OVERRIDES // -------------------------- - // TODO: rename `OPP_` to `ENEMY_` - readonly OPP_SPECIES_OVERRIDE: SpeciesId | number = 0; + readonly ENEMY_SPECIES_OVERRIDE: SpeciesId | number = 0; /** * This will make all opponents fused Pokemon */ - readonly OPP_FUSION_OVERRIDE: boolean = false; + readonly ENEMY_FUSION_OVERRIDE: boolean = false; /** * This will override the species of the fusion only when the opponent is already a fusion */ - readonly OPP_FUSION_SPECIES_OVERRIDE: SpeciesId | number = 0; - readonly OPP_LEVEL_OVERRIDE: number = 0; - readonly OPP_ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; - readonly OPP_PASSIVE_ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; - readonly OPP_HAS_PASSIVE_ABILITY_OVERRIDE: boolean | null = null; - readonly OPP_STATUS_OVERRIDE: StatusEffect = StatusEffect.NONE; - readonly OPP_GENDER_OVERRIDE: Gender | null = null; - readonly OPP_MOVESET_OVERRIDE: MoveId | Array = []; - readonly OPP_SHINY_OVERRIDE: boolean | null = null; - readonly OPP_VARIANT_OVERRIDE: Variant | null = null; + readonly ENEMY_FUSION_SPECIES_OVERRIDE: SpeciesId | number = 0; + readonly ENEMY_LEVEL_OVERRIDE: number = 0; + readonly ENEMY_ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; + readonly ENEMY_PASSIVE_ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; + readonly ENEMY_HAS_PASSIVE_ABILITY_OVERRIDE: boolean | null = null; + readonly ENEMY_STATUS_OVERRIDE: StatusEffect = StatusEffect.NONE; + readonly ENEMY_GENDER_OVERRIDE: Gender | null = null; + readonly ENEMY_MOVESET_OVERRIDE: MoveId | Array = []; + readonly ENEMY_SHINY_OVERRIDE: boolean | null = null; + readonly ENEMY_VARIANT_OVERRIDE: Variant | null = null; /** * Overrides the IVs of enemy pokemon. Values must never be outside the range `0` to `31`! * - If set to a number between `0` and `31`, set all IVs of all enemy pokemon to that number. @@ -207,7 +206,7 @@ class DefaultOverrides { readonly ENEMY_IVS_OVERRIDE: number | number[] | null = null; /** Override the nature of all enemy pokemon to the specified nature. Disabled if `null`. */ readonly ENEMY_NATURE_OVERRIDE: Nature | null = null; - readonly OPP_FORM_OVERRIDES: Partial> = {}; + readonly ENEMY_FORM_OVERRIDES: Partial> = {}; /** * Override to give the enemy Pokemon a given amount of health segments * @@ -215,7 +214,7 @@ class DefaultOverrides { * 1: the Pokemon will have a single health segment and therefore will not be a boss * 2+: the Pokemon will be a boss with the given number of health segments */ - readonly OPP_HEALTH_SEGMENTS_OVERRIDE: number = 0; + readonly ENEMY_HEALTH_SEGMENTS_OVERRIDE: number = 0; // ------------- // EGG OVERRIDES @@ -277,12 +276,12 @@ class DefaultOverrides { * * Note that any previous modifiers are cleared. */ - readonly OPP_MODIFIER_OVERRIDE: ModifierOverride[] = []; + readonly ENEMY_MODIFIER_OVERRIDE: ModifierOverride[] = []; /** Override array of {@linkcode ModifierOverride}s used to provide held items to first party member when starting a new game. */ readonly STARTING_HELD_ITEMS_OVERRIDE: ModifierOverride[] = []; /** Override array of {@linkcode ModifierOverride}s used to provide held items to enemies on spawn. */ - readonly OPP_HELD_ITEMS_OVERRIDE: ModifierOverride[] = []; + readonly ENEMY_HELD_ITEMS_OVERRIDE: ModifierOverride[] = []; /** * Override array of {@linkcode ModifierOverride}s used to replace the generated item rolls after a wave. diff --git a/src/phases/attempt-capture-phase.ts b/src/phases/attempt-capture-phase.ts index aea39cff294..b34ddb0c59a 100644 --- a/src/phases/attempt-capture-phase.ts +++ b/src/phases/attempt-capture-phase.ts @@ -253,8 +253,11 @@ export class AttemptCapturePhase extends PokemonPhase { globalScene.gameData.updateSpeciesDexIvs(pokemon.species.getRootSpeciesId(true), pokemon.ivs); + const addStatus = new BooleanHolder(true); + applyChallenges(ChallengeType.POKEMON_ADD_TO_PARTY, pokemon, addStatus); + globalScene.ui.showText( - i18next.t("battle:pokemonCaught", { + i18next.t(addStatus.value ? "battle:pokemonCaught" : "battle:pokemonCaughtButChallenge", { pokemonName: getPokemonNameWithAffix(pokemon), }), null, @@ -290,8 +293,6 @@ export class AttemptCapturePhase extends PokemonPhase { }); }; Promise.all([pokemon.hideInfo(), globalScene.gameData.setPokemonCaught(pokemon)]).then(() => { - const addStatus = new BooleanHolder(true); - applyChallenges(ChallengeType.POKEMON_ADD_TO_PARTY, pokemon, addStatus); if (!addStatus.value) { removePokemon(); end(); diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 79da7134e9a..b870f7f6e7a 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -229,7 +229,7 @@ export class EncounterPhase extends BattlePhase { }), ); } else { - const overridedBossSegments = Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE > 1; + const overridedBossSegments = Overrides.ENEMY_HEALTH_SEGMENTS_OVERRIDE > 1; // for double battles, reduce the health segments for boss Pokemon unless there is an override if (!overridedBossSegments && battle.enemyParty.filter(p => p.isBoss()).length > 1) { for (const enemyPokemon of battle.enemyParty) { diff --git a/src/phases/game-over-phase.ts b/src/phases/game-over-phase.ts index d4562b5a237..dc4a138c444 100644 --- a/src/phases/game-over-phase.ts +++ b/src/phases/game-over-phase.ts @@ -19,8 +19,11 @@ import { ChallengeData } from "#system/challenge-data"; import type { SessionSaveData } from "#system/game-data"; import { ModifierData as PersistentModifierData } from "#system/modifier-data"; import { PokemonData } from "#system/pokemon-data"; +import { RibbonData, type RibbonFlag } from "#system/ribbons/ribbon-data"; +import { awardRibbonsToSpeciesLine } from "#system/ribbons/ribbon-methods"; import { TrainerData } from "#system/trainer-data"; import { trainerConfigs } from "#trainers/trainer-config"; +import { checkSpeciesValidForChallenge, isNuzlockeChallenge } from "#utils/challenge-utils"; import { isLocal, isLocalServerConnected } from "#utils/common"; import { getPokemonSpecies } from "#utils/pokemon-utils"; import i18next from "i18next"; @@ -62,8 +65,8 @@ export class GameOverPhase extends BattlePhase { const genderIndex = globalScene.gameData.gender ?? PlayerGender.UNSET; const genderStr = PlayerGender[genderIndex].toLowerCase(); globalScene.ui.showDialogue( - i18next.t("miscDialogue:ending_endless", { context: genderStr }), - i18next.t("miscDialogue:ending_name"), + i18next.t("miscDialogue:endingEndless", { context: genderStr }), + i18next.t("miscDialogue:endingName"), 0, () => this.handleGameOver(), ); @@ -111,6 +114,40 @@ export class GameOverPhase extends BattlePhase { } } + /** + * Submethod of {@linkcode handleGameOver} that awards ribbons to Pokémon in the player's party based on the current + * game mode and challenges. + */ + private awardRibbons(): void { + let ribbonFlags = 0n; + if (globalScene.gameMode.isClassic) { + ribbonFlags |= RibbonData.CLASSIC; + } + if (isNuzlockeChallenge()) { + ribbonFlags |= RibbonData.NUZLOCKE; + } + for (const challenge of globalScene.gameMode.challenges) { + const ribbon = challenge.ribbonAwarded; + if (challenge.value && ribbon) { + ribbonFlags |= ribbon; + } + } + // Award ribbons to all Pokémon in the player's party that are considered valid + // for the current game mode and challenges. + for (const pokemon of globalScene.getPlayerParty()) { + const species = pokemon.species; + if ( + checkSpeciesValidForChallenge( + species, + globalScene.gameData.getSpeciesDexAttrProps(species, pokemon.getDexAttr()), + false, + ) + ) { + awardRibbonsToSpeciesLine(species.speciesId, ribbonFlags as RibbonFlag); + } + } + } + handleGameOver(): void { const doGameOver = (newClear: boolean) => { globalScene.disableMenu = true; @@ -122,12 +159,12 @@ export class GameOverPhase extends BattlePhase { globalScene.validateAchv(achvs.UNEVOLVED_CLASSIC_VICTORY); globalScene.gameData.gameStats.sessionsWon++; for (const pokemon of globalScene.getPlayerParty()) { - this.awardRibbon(pokemon); - + this.awardFirstClassicCompletion(pokemon); if (pokemon.species.getRootSpeciesId() !== pokemon.species.getRootSpeciesId(true)) { - this.awardRibbon(pokemon, true); + this.awardFirstClassicCompletion(pokemon, true); } } + this.awardRibbons(); } else if (globalScene.gameMode.isDaily && newClear) { globalScene.gameData.gameStats.dailyRunSessionsWon++; } @@ -263,7 +300,7 @@ export class GameOverPhase extends BattlePhase { } } - awardRibbon(pokemon: Pokemon, forStarter = false): void { + awardFirstClassicCompletion(pokemon: Pokemon, forStarter = false): void { const speciesId = getPokemonSpecies(pokemon.species.speciesId); const speciesRibbonCount = globalScene.gameData.incrementRibbonCount(speciesId, forStarter); // first time classic win, award voucher diff --git a/src/phases/select-biome-phase.ts b/src/phases/select-biome-phase.ts index 4089f0c2852..d02d69fc934 100644 --- a/src/phases/select-biome-phase.ts +++ b/src/phases/select-biome-phase.ts @@ -16,8 +16,10 @@ export class SelectBiomePhase extends BattlePhase { globalScene.resetSeed(); + const gameMode = globalScene.gameMode; const currentBiome = globalScene.arena.biomeType; - const nextWaveIndex = globalScene.currentBattle.waveIndex + 1; + const currentWaveIndex = globalScene.currentBattle.waveIndex; + const nextWaveIndex = currentWaveIndex + 1; const setNextBiome = (nextBiome: BiomeId) => { if (nextWaveIndex % 10 === 1) { @@ -26,6 +28,15 @@ export class SelectBiomePhase extends BattlePhase { applyChallenges(ChallengeType.PARTY_HEAL, healStatus); if (healStatus.value) { globalScene.phaseManager.unshiftNew("PartyHealPhase", false); + } else { + globalScene.phaseManager.unshiftNew( + "SelectModifierPhase", + undefined, + undefined, + gameMode.isFixedBattle(currentWaveIndex) + ? gameMode.getFixedBattle(currentWaveIndex).customModifierRewardSettings + : undefined, + ); } } globalScene.phaseManager.unshiftNew("SwitchBiomePhase", nextBiome); @@ -33,12 +44,12 @@ export class SelectBiomePhase extends BattlePhase { }; if ( - (globalScene.gameMode.isClassic && globalScene.gameMode.isWaveFinal(nextWaveIndex + 9)) || - (globalScene.gameMode.isDaily && globalScene.gameMode.isWaveFinal(nextWaveIndex)) || - (globalScene.gameMode.hasShortBiomes && !(nextWaveIndex % 50)) + (gameMode.isClassic && gameMode.isWaveFinal(nextWaveIndex + 9)) || + (gameMode.isDaily && gameMode.isWaveFinal(nextWaveIndex)) || + (gameMode.hasShortBiomes && !(nextWaveIndex % 50)) ) { setNextBiome(BiomeId.END); - } else if (globalScene.gameMode.hasRandomBiomes) { + } else if (gameMode.hasRandomBiomes) { setNextBiome(this.generateNextBiome(nextWaveIndex)); } else if (Array.isArray(biomeLinks[currentBiome])) { const biomes: BiomeId[] = (biomeLinks[currentBiome] as (BiomeId | [BiomeId, number])[]) @@ -73,9 +84,6 @@ export class SelectBiomePhase extends BattlePhase { } generateNextBiome(waveIndex: number): BiomeId { - if (!(waveIndex % 50)) { - return BiomeId.END; - } - return globalScene.generateRandomBiome(waveIndex); + return waveIndex % 50 === 0 ? BiomeId.END : globalScene.generateRandomBiome(waveIndex); } } diff --git a/src/phases/tera-phase.ts b/src/phases/tera-phase.ts index 84b05d88abe..5e42fab82ba 100644 --- a/src/phases/tera-phase.ts +++ b/src/phases/tera-phase.ts @@ -7,6 +7,7 @@ import { PokemonType } from "#enums/pokemon-type"; import type { Pokemon } from "#field/pokemon"; import { BattlePhase } from "#phases/battle-phase"; import { achvs } from "#system/achv"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; export class TeraPhase extends BattlePhase { @@ -25,7 +26,7 @@ export class TeraPhase extends BattlePhase { globalScene.phaseManager.queueMessage( i18next.t("battle:pokemonTerastallized", { pokemonNameWithAffix: getPokemonNameWithAffix(this.pokemon), - type: i18next.t(`pokemonInfo:Type.${PokemonType[this.pokemon.getTeraType()]}`), + type: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.pokemon.getTeraType()])}`), }), ); new CommonBattleAnim(CommonAnim.TERASTALLIZE, this.pokemon).play(false, () => { diff --git a/src/phases/victory-phase.ts b/src/phases/victory-phase.ts index c0f4a32d7e1..ac567cc99c5 100644 --- a/src/phases/victory-phase.ts +++ b/src/phases/victory-phase.ts @@ -3,13 +3,9 @@ import { globalScene } from "#app/global-scene"; import { modifierTypes } from "#data/data-lists"; import { BattleType } from "#enums/battle-type"; import type { BattlerIndex } from "#enums/battler-index"; -import { ChallengeType } from "#enums/challenge-type"; import { ClassicFixedBossWaves } from "#enums/fixed-boss-waves"; -import type { CustomModifierSettings } from "#modifiers/modifier-type"; import { handleMysteryEncounterVictory } from "#mystery-encounters/encounter-phase-utils"; import { PokemonPhase } from "#phases/pokemon-phase"; -import { applyChallenges } from "#utils/challenge-utils"; -import { BooleanHolder } from "#utils/common"; export class VictoryPhase extends PokemonPhase { public readonly phaseName = "VictoryPhase"; @@ -49,15 +45,19 @@ export class VictoryPhase extends PokemonPhase { if (globalScene.currentBattle.battleType === BattleType.TRAINER) { globalScene.phaseManager.pushNew("TrainerVictoryPhase"); } - if (globalScene.gameMode.isEndless || !globalScene.gameMode.isWaveFinal(globalScene.currentBattle.waveIndex)) { + + const gameMode = globalScene.gameMode; + const currentWaveIndex = globalScene.currentBattle.waveIndex; + + if (gameMode.isEndless || !gameMode.isWaveFinal(currentWaveIndex)) { globalScene.phaseManager.pushNew("EggLapsePhase"); - if (globalScene.gameMode.isClassic) { - switch (globalScene.currentBattle.waveIndex) { + if (gameMode.isClassic) { + switch (currentWaveIndex) { case ClassicFixedBossWaves.RIVAL_1: case ClassicFixedBossWaves.RIVAL_2: // Get event modifiers for this wave timedEventManager - .getFixedBattleEventRewards(globalScene.currentBattle.waveIndex) + .getFixedBattleEventRewards(currentWaveIndex) .map(r => globalScene.phaseManager.pushNew("ModifierRewardPhase", modifierTypes[r])); break; case ClassicFixedBossWaves.EVIL_BOSS_2: @@ -66,59 +66,53 @@ export class VictoryPhase extends PokemonPhase { break; } } - const healStatus = new BooleanHolder(globalScene.currentBattle.waveIndex % 10 === 0); - applyChallenges(ChallengeType.PARTY_HEAL, healStatus); - if (!healStatus.value) { + if (currentWaveIndex % 10) { globalScene.phaseManager.pushNew( "SelectModifierPhase", undefined, undefined, - this.getFixedBattleCustomModifiers(), + gameMode.isFixedBattle(currentWaveIndex) + ? gameMode.getFixedBattle(currentWaveIndex).customModifierRewardSettings + : undefined, ); - } else if (globalScene.gameMode.isDaily) { + } else if (gameMode.isDaily) { globalScene.phaseManager.pushNew("ModifierRewardPhase", modifierTypes.EXP_CHARM); - if ( - globalScene.currentBattle.waveIndex > 10 && - !globalScene.gameMode.isWaveFinal(globalScene.currentBattle.waveIndex) - ) { + if (currentWaveIndex > 10 && !gameMode.isWaveFinal(currentWaveIndex)) { globalScene.phaseManager.pushNew("ModifierRewardPhase", modifierTypes.GOLDEN_POKEBALL); } } else { - const superExpWave = !globalScene.gameMode.isEndless ? (globalScene.offsetGym ? 0 : 20) : 10; - if (globalScene.gameMode.isEndless && globalScene.currentBattle.waveIndex === 10) { + const superExpWave = !gameMode.isEndless ? (globalScene.offsetGym ? 0 : 20) : 10; + if (gameMode.isEndless && currentWaveIndex === 10) { globalScene.phaseManager.pushNew("ModifierRewardPhase", modifierTypes.EXP_SHARE); } - if ( - globalScene.currentBattle.waveIndex <= 750 && - (globalScene.currentBattle.waveIndex <= 500 || globalScene.currentBattle.waveIndex % 30 === superExpWave) - ) { + if (currentWaveIndex <= 750 && (currentWaveIndex <= 500 || currentWaveIndex % 30 === superExpWave)) { globalScene.phaseManager.pushNew( "ModifierRewardPhase", - globalScene.currentBattle.waveIndex % 30 !== superExpWave || globalScene.currentBattle.waveIndex > 250 + currentWaveIndex % 30 !== superExpWave || currentWaveIndex > 250 ? modifierTypes.EXP_CHARM : modifierTypes.SUPER_EXP_CHARM, ); } - if (globalScene.currentBattle.waveIndex <= 150 && !(globalScene.currentBattle.waveIndex % 50)) { + if (currentWaveIndex <= 150 && !(currentWaveIndex % 50)) { globalScene.phaseManager.pushNew("ModifierRewardPhase", modifierTypes.GOLDEN_POKEBALL); } - if (globalScene.gameMode.isEndless && !(globalScene.currentBattle.waveIndex % 50)) { + if (gameMode.isEndless && !(currentWaveIndex % 50)) { globalScene.phaseManager.pushNew( "ModifierRewardPhase", - !(globalScene.currentBattle.waveIndex % 250) ? modifierTypes.VOUCHER_PREMIUM : modifierTypes.VOUCHER_PLUS, + !(currentWaveIndex % 250) ? modifierTypes.VOUCHER_PREMIUM : modifierTypes.VOUCHER_PLUS, ); globalScene.phaseManager.pushNew("AddEnemyBuffModifierPhase"); } } - if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { + if (gameMode.hasRandomBiomes || globalScene.isNewBiome()) { globalScene.phaseManager.pushNew("SelectBiomePhase"); } globalScene.phaseManager.pushNew("NewBattlePhase"); } else { globalScene.currentBattle.battleType = BattleType.CLEAR; - globalScene.score += globalScene.gameMode.getClearScoreBonus(); + globalScene.score += gameMode.getClearScoreBonus(); globalScene.updateScoreText(); globalScene.phaseManager.pushNew("GameOverPhase", true); } @@ -126,18 +120,4 @@ export class VictoryPhase extends PokemonPhase { this.end(); } - - /** - * If this wave is a fixed battle with special custom modifier rewards, - * will pass those settings to the upcoming {@linkcode SelectModifierPhase}`. - */ - getFixedBattleCustomModifiers(): CustomModifierSettings | undefined { - const gameMode = globalScene.gameMode; - const waveIndex = globalScene.currentBattle.waveIndex; - if (gameMode.isFixedBattle(waveIndex)) { - return gameMode.getFixedBattle(waveIndex).customModifierRewardSettings; - } - - return undefined; - } } diff --git a/src/plugins/api/pokerogue-session-savedata-api.ts b/src/plugins/api/pokerogue-session-savedata-api.ts index 4ffb0a5d8da..39fa292f9f1 100644 --- a/src/plugins/api/pokerogue-session-savedata-api.ts +++ b/src/plugins/api/pokerogue-session-savedata-api.ts @@ -56,15 +56,15 @@ export class PokerogueSessionSavedataApi extends ApiBase { /** * Update a session savedata. - * @param params The {@linkcode UpdateSessionSavedataRequest} to send - * @param rawSavedata The raw savedata (as `string`) + * @param params - The request to send + * @param rawSavedata - The raw, unencrypted savedata * @returns An error message if something went wrong */ - public async update(params: UpdateSessionSavedataRequest, rawSavedata: string) { + public async update(params: UpdateSessionSavedataRequest, rawSavedata: string): Promise { try { const urlSearchParams = this.toUrlSearchParams(params); - const response = await this.doPost(`/savedata/session/update?${urlSearchParams}`, rawSavedata); + const response = await this.doPost(`/savedata/session/update?${urlSearchParams}`, rawSavedata); return await response.text(); } catch (err) { console.warn("Could not update session savedata!", err); diff --git a/src/system/achv.ts b/src/system/achv.ts index d6b74a55dd3..2dc982208c4 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -5,7 +5,6 @@ import { FlipStatChallenge, FreshStartChallenge, InverseBattleChallenge, - LimitedCatchChallenge, SingleGenerationChallenge, SingleTypeChallenge, } from "#data/challenge"; @@ -14,7 +13,9 @@ import { PlayerGender } from "#enums/player-gender"; import { getShortenedStatKey, Stat } from "#enums/stat"; import { TurnHeldItemTransferModifier } from "#modifiers/modifier"; import type { ConditionFn } from "#types/common"; +import { isNuzlockeChallenge } from "#utils/challenge-utils"; import { NumberHolder } from "#utils/common"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; import type { Modifier } from "typescript"; @@ -206,242 +207,244 @@ export function getAchievementDescription(localizationKey: string): string { const genderStr = PlayerGender[genderIndex].toLowerCase(); switch (localizationKey) { - case "10K_MONEY": - return i18next.t("achv:MoneyAchv.description", { + case "10KMoney": + return i18next.t("achv:moneyAchv.description", { context: genderStr, moneyAmount: achvs._10K_MONEY.moneyAmount.toLocaleString("en-US"), }); - case "100K_MONEY": - return i18next.t("achv:MoneyAchv.description", { + case "100KMoney": + return i18next.t("achv:moneyAchv.description", { context: genderStr, moneyAmount: achvs._100K_MONEY.moneyAmount.toLocaleString("en-US"), }); - case "1M_MONEY": - return i18next.t("achv:MoneyAchv.description", { + case "1MMoney": + return i18next.t("achv:moneyAchv.description", { context: genderStr, moneyAmount: achvs._1M_MONEY.moneyAmount.toLocaleString("en-US"), }); - case "10M_MONEY": - return i18next.t("achv:MoneyAchv.description", { + case "10MMoney": + return i18next.t("achv:moneyAchv.description", { context: genderStr, moneyAmount: achvs._10M_MONEY.moneyAmount.toLocaleString("en-US"), }); - case "250_DMG": - return i18next.t("achv:DamageAchv.description", { + case "250Dmg": + return i18next.t("achv:damageAchv.description", { context: genderStr, damageAmount: achvs._250_DMG.damageAmount.toLocaleString("en-US"), }); - case "1000_DMG": - return i18next.t("achv:DamageAchv.description", { + case "1000Dmg": + return i18next.t("achv:damageAchv.description", { context: genderStr, damageAmount: achvs._1000_DMG.damageAmount.toLocaleString("en-US"), }); - case "2500_DMG": - return i18next.t("achv:DamageAchv.description", { + case "2500Dmg": + return i18next.t("achv:damageAchv.description", { context: genderStr, damageAmount: achvs._2500_DMG.damageAmount.toLocaleString("en-US"), }); - case "10000_DMG": - return i18next.t("achv:DamageAchv.description", { + case "10000Dmg": + return i18next.t("achv:damageAchv.description", { context: genderStr, damageAmount: achvs._10000_DMG.damageAmount.toLocaleString("en-US"), }); - case "250_HEAL": - return i18next.t("achv:HealAchv.description", { + case "250Heal": + return i18next.t("achv:healAchv.description", { context: genderStr, healAmount: achvs._250_HEAL.healAmount.toLocaleString("en-US"), HP: i18next.t(getShortenedStatKey(Stat.HP)), }); - case "1000_HEAL": - return i18next.t("achv:HealAchv.description", { + case "1000Heal": + return i18next.t("achv:healAchv.description", { context: genderStr, healAmount: achvs._1000_HEAL.healAmount.toLocaleString("en-US"), HP: i18next.t(getShortenedStatKey(Stat.HP)), }); - case "2500_HEAL": - return i18next.t("achv:HealAchv.description", { + case "2500Heal": + return i18next.t("achv:healAchv.description", { context: genderStr, healAmount: achvs._2500_HEAL.healAmount.toLocaleString("en-US"), HP: i18next.t(getShortenedStatKey(Stat.HP)), }); - case "10000_HEAL": - return i18next.t("achv:HealAchv.description", { + case "10000Heal": + return i18next.t("achv:healAchv.description", { context: genderStr, healAmount: achvs._10000_HEAL.healAmount.toLocaleString("en-US"), HP: i18next.t(getShortenedStatKey(Stat.HP)), }); - case "LV_100": - return i18next.t("achv:LevelAchv.description", { + case "lv100": + return i18next.t("achv:levelAchv.description", { context: genderStr, level: achvs.LV_100.level, }); - case "LV_250": - return i18next.t("achv:LevelAchv.description", { + case "lv250": + return i18next.t("achv:levelAchv.description", { context: genderStr, level: achvs.LV_250.level, }); - case "LV_1000": - return i18next.t("achv:LevelAchv.description", { + case "lv1000": + return i18next.t("achv:levelAchv.description", { context: genderStr, level: achvs.LV_1000.level, }); - case "10_RIBBONS": - return i18next.t("achv:RibbonAchv.description", { + case "10Ribbons": + return i18next.t("achv:ribbonAchv.description", { context: genderStr, ribbonAmount: achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US"), }); - case "25_RIBBONS": - return i18next.t("achv:RibbonAchv.description", { + case "25Ribbons": + return i18next.t("achv:ribbonAchv.description", { context: genderStr, ribbonAmount: achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US"), }); - case "50_RIBBONS": - return i18next.t("achv:RibbonAchv.description", { + case "50Ribbons": + return i18next.t("achv:ribbonAchv.description", { context: genderStr, ribbonAmount: achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US"), }); - case "75_RIBBONS": - return i18next.t("achv:RibbonAchv.description", { + case "75Ribbons": + return i18next.t("achv:ribbonAchv.description", { context: genderStr, ribbonAmount: achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US"), }); - case "100_RIBBONS": - return i18next.t("achv:RibbonAchv.description", { + case "100Ribbons": + return i18next.t("achv:ribbonAchv.description", { context: genderStr, ribbonAmount: achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US"), }); - case "TRANSFER_MAX_STAT_STAGE": - return i18next.t("achv:TRANSFER_MAX_STAT_STAGE.description", { + case "transferMaxStatStage": + return i18next.t("achv:transferMaxStatStage.description", { context: genderStr, }); - case "MAX_FRIENDSHIP": - return i18next.t("achv:MAX_FRIENDSHIP.description", { + case "maxFriendship": + return i18next.t("achv:maxFriendship.description", { context: genderStr, }); - case "MEGA_EVOLVE": - return i18next.t("achv:MEGA_EVOLVE.description", { context: genderStr }); - case "GIGANTAMAX": - return i18next.t("achv:GIGANTAMAX.description", { context: genderStr }); - case "TERASTALLIZE": - return i18next.t("achv:TERASTALLIZE.description", { context: genderStr }); - case "STELLAR_TERASTALLIZE": - return i18next.t("achv:STELLAR_TERASTALLIZE.description", { + case "megaEvolve": + return i18next.t("achv:megaEvolve.description", { context: genderStr }); + case "gigantamax": + return i18next.t("achv:gigantamax.description", { context: genderStr }); + case "terastallize": + return i18next.t("achv:terastallize.description", { context: genderStr }); + case "stellarTerastallize": + return i18next.t("achv:stellarTerastallize.description", { context: genderStr, }); - case "SPLICE": - return i18next.t("achv:SPLICE.description", { context: genderStr }); - case "MINI_BLACK_HOLE": - return i18next.t("achv:MINI_BLACK_HOLE.description", { + case "splice": + return i18next.t("achv:splice.description", { context: genderStr }); + case "miniBlackHole": + return i18next.t("achv:miniBlackHole.description", { context: genderStr, }); - case "CATCH_MYTHICAL": - return i18next.t("achv:CATCH_MYTHICAL.description", { + case "catchMythical": + return i18next.t("achv:catchMythical.description", { context: genderStr, }); - case "CATCH_SUB_LEGENDARY": - return i18next.t("achv:CATCH_SUB_LEGENDARY.description", { + case "catchSubLegendary": + return i18next.t("achv:catchSubLegendary.description", { context: genderStr, }); - case "CATCH_LEGENDARY": - return i18next.t("achv:CATCH_LEGENDARY.description", { + case "catchLegendary": + return i18next.t("achv:catchLegendary.description", { context: genderStr, }); - case "SEE_SHINY": - return i18next.t("achv:SEE_SHINY.description", { context: genderStr }); - case "SHINY_PARTY": - return i18next.t("achv:SHINY_PARTY.description", { context: genderStr }); - case "HATCH_MYTHICAL": - return i18next.t("achv:HATCH_MYTHICAL.description", { + case "seeShiny": + return i18next.t("achv:seeShiny.description", { context: genderStr }); + case "shinyParty": + return i18next.t("achv:shinyParty.description", { context: genderStr }); + case "hatchMythical": + return i18next.t("achv:hatchMythical.description", { context: genderStr, }); - case "HATCH_SUB_LEGENDARY": - return i18next.t("achv:HATCH_SUB_LEGENDARY.description", { + case "hatchSubLegendary": + return i18next.t("achv:hatchSubLegendary.description", { context: genderStr, }); - case "HATCH_LEGENDARY": - return i18next.t("achv:HATCH_LEGENDARY.description", { + case "hatchLegendary": + return i18next.t("achv:hatchLegendary.description", { context: genderStr, }); - case "HATCH_SHINY": - return i18next.t("achv:HATCH_SHINY.description", { context: genderStr }); - case "HIDDEN_ABILITY": - return i18next.t("achv:HIDDEN_ABILITY.description", { + case "hatchShiny": + return i18next.t("achv:hatchShiny.description", { context: genderStr }); + case "hiddenAbility": + return i18next.t("achv:hiddenAbility.description", { context: genderStr, }); - case "PERFECT_IVS": - return i18next.t("achv:PERFECT_IVS.description", { context: genderStr }); - case "CLASSIC_VICTORY": - return i18next.t("achv:CLASSIC_VICTORY.description", { + case "perfectIvs": + return i18next.t("achv:perfectIvs.description", { context: genderStr }); + case "classicVictory": + return i18next.t("achv:classicVictory.description", { context: genderStr, }); - case "UNEVOLVED_CLASSIC_VICTORY": - return i18next.t("achv:UNEVOLVED_CLASSIC_VICTORY.description", { + case "unevolvedClassicVictory": + return i18next.t("achv:unevolvedClassicVictory.description", { context: genderStr, }); - case "MONO_GEN_ONE": - return i18next.t("achv:MONO_GEN_ONE.description", { context: genderStr }); - case "MONO_GEN_TWO": - return i18next.t("achv:MONO_GEN_TWO.description", { context: genderStr }); - case "MONO_GEN_THREE": - return i18next.t("achv:MONO_GEN_THREE.description", { + case "monoGenOne": + return i18next.t("achv:monoGenOne.description", { context: genderStr }); + case "monoGenTwo": + return i18next.t("achv:monoGenTwo.description", { context: genderStr }); + case "monoGenThree": + return i18next.t("achv:monoGenThree.description", { context: genderStr, }); - case "MONO_GEN_FOUR": - return i18next.t("achv:MONO_GEN_FOUR.description", { + case "monoGenFour": + return i18next.t("achv:monoGenFour.description", { context: genderStr, }); - case "MONO_GEN_FIVE": - return i18next.t("achv:MONO_GEN_FIVE.description", { + case "monoGenFive": + return i18next.t("achv:monoGenFive.description", { context: genderStr, }); - case "MONO_GEN_SIX": - return i18next.t("achv:MONO_GEN_SIX.description", { context: genderStr }); - case "MONO_GEN_SEVEN": - return i18next.t("achv:MONO_GEN_SEVEN.description", { + case "monoGenSix": + return i18next.t("achv:monoGenSix.description", { context: genderStr }); + case "monoGenSeven": + return i18next.t("achv:monoGenSeven.description", { context: genderStr, }); - case "MONO_GEN_EIGHT": - return i18next.t("achv:MONO_GEN_EIGHT.description", { + case "monoGenEight": + return i18next.t("achv:monoGenEight.description", { context: genderStr, }); - case "MONO_GEN_NINE": - return i18next.t("achv:MONO_GEN_NINE.description", { + case "monoGenNine": + return i18next.t("achv:monoGenNine.description", { context: genderStr, }); - 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("achv:MonoType.description", { + case "monoNormal": + case "monoFighting": + case "monoFlying": + case "monoPoison": + case "monoGround": + case "monoRock": + case "monoBug": + case "monoGhost": + case "monoSteel": + case "monoFire": + case "monoWater": + case "monoGrass": + case "monoElectric": + case "monoPsychic": + case "monoIce": + case "monoDragon": + case "monoDark": + case "monoFairy": + return i18next.t("achv:monoType.description", { context: genderStr, - type: i18next.t(`pokemonInfo:Type.${localizationKey.slice(5)}`), + type: i18next.t(`pokemonInfo:type.${toCamelCase(localizationKey.slice(4))}`), }); - case "FRESH_START": - return i18next.t("achv:FRESH_START.description", { context: genderStr }); - case "INVERSE_BATTLE": - return i18next.t("achv:INVERSE_BATTLE.description", { + case "freshStart": + return i18next.t("achv:freshStart.description", { context: genderStr }); + case "inverseBattle": + return i18next.t("achv:inverseBattle.description", { context: genderStr, }); - case "FLIP_STATS": - return i18next.t("achv:FLIP_STATS.description", { context: genderStr }); - case "FLIP_INVERSE": - return i18next.t("achv:FLIP_INVERSE.description", { context: genderStr }); - case "BREEDERS_IN_SPACE": - return i18next.t("achv:BREEDERS_IN_SPACE.description", { + case "flipStats": + return i18next.t("achv:flipStats.description", { context: genderStr }); + case "flipInverse": + return i18next.t("achv:flipInverse.description", { context: genderStr }); + case "nuzlocke": + return i18next.t("achv:nuzlocke.description", { context: genderStr }); + case "breedersInSpace": + return i18next.t("achv:breedersInSpace.description", { context: genderStr, }); default: @@ -451,8 +454,8 @@ export function getAchievementDescription(localizationKey: string): string { export const achvs = { CLASSIC_VICTORY: new Achv( - "CLASSIC_VICTORY", - "CLASSIC_VICTORY.description", + "classicVictory", + "classicVictory.description", "relic_crown", 150, _ => globalScene.gameData.gameStats.sessionsWon === 0, @@ -462,61 +465,65 @@ export const achvs = { _50_RIBBONS: new RibbonAchv("50_RIBBONS", 50, "ultra_ribbon", 50), _75_RIBBONS: new RibbonAchv("75_RIBBONS", 75, "rogue_ribbon", 75), _100_RIBBONS: new RibbonAchv("100_RIBBONS", 100, "master_ribbon", 100), - _10K_MONEY: new MoneyAchv("10K_MONEY", 10000, "nugget", 10), - _100K_MONEY: new MoneyAchv("100K_MONEY", 100000, "big_nugget", 25).setSecret(true), - _1M_MONEY: new MoneyAchv("1M_MONEY", 1000000, "relic_gold", 50).setSecret(true), - _10M_MONEY: new MoneyAchv("10M_MONEY", 10000000, "coin_case", 100).setSecret(true), - _250_DMG: new DamageAchv("250_DMG", 250, "lucky_punch", 10), - _1000_DMG: new DamageAchv("1000_DMG", 1000, "lucky_punch_great", 25).setSecret(true), - _2500_DMG: new DamageAchv("2500_DMG", 2500, "lucky_punch_ultra", 50).setSecret(true), - _10000_DMG: new DamageAchv("10000_DMG", 10000, "lucky_punch_master", 100).setSecret(true), - _250_HEAL: new HealAchv("250_HEAL", 250, "potion", 10), - _1000_HEAL: new HealAchv("1000_HEAL", 1000, "super_potion", 25).setSecret(true), - _2500_HEAL: new HealAchv("2500_HEAL", 2500, "hyper_potion", 50).setSecret(true), - _10000_HEAL: new HealAchv("10000_HEAL", 10000, "max_potion", 100).setSecret(true), - LV_100: new LevelAchv("LV_100", 100, "rare_candy", 25).setSecret(), - LV_250: new LevelAchv("LV_250", 250, "rarer_candy", 50).setSecret(true), - LV_1000: new LevelAchv("LV_1000", 1000, "candy_jar", 100).setSecret(true), - TRANSFER_MAX_STAT_STAGE: new Achv("TRANSFER_MAX_STAT_STAGE", "TRANSFER_MAX_STAT_STAGE.description", "baton", 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), + _10K_MONEY: new MoneyAchv("10KMoney", 10000, "nugget", 10), + _100K_MONEY: new MoneyAchv("100KMoney", 100000, "big_nugget", 25).setSecret(true), + _1M_MONEY: new MoneyAchv("1MMoney", 1000000, "relic_gold", 50).setSecret(true), + _10M_MONEY: new MoneyAchv("10MMoney", 10000000, "coin_case", 100).setSecret(true), + _250_DMG: new DamageAchv("250Dmg", 250, "lucky_punch", 10), + _1000_DMG: new DamageAchv("1000Dmg", 1000, "lucky_punch_great", 25).setSecret(true), + _2500_DMG: new DamageAchv("2500Dmg", 2500, "lucky_punch_ultra", 50).setSecret(true), + _10000_DMG: new DamageAchv("10000Dmg", 10000, "lucky_punch_master", 100).setSecret(true), + _250_HEAL: new HealAchv("250Heal", 250, "potion", 10), + _1000_HEAL: new HealAchv("1000Heal", 1000, "super_potion", 25).setSecret(true), + _2500_HEAL: new HealAchv("2500Heal", 2500, "hyper_potion", 50).setSecret(true), + _10000_HEAL: new HealAchv("10000Heal", 10000, "max_potion", 100).setSecret(true), + LV_100: new LevelAchv("lv100", 100, "rare_candy", 25).setSecret(), + LV_250: new LevelAchv("lv250", 250, "rarer_candy", 50).setSecret(true), + LV_1000: new LevelAchv("lv1000", 1000, "candy_jar", 100).setSecret(true), + TRANSFER_MAX_STAT_STAGE: new Achv("transferMaxStatStage", "transferMaxStatStage.description", "baton", 20), + MAX_FRIENDSHIP: new Achv("maxFriendship", "maxFriendship.description", "soothe_bell", 25), + MEGA_EVOLVE: new Achv("megaEvolve", "megaEvolve.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", + "stellarTerastallize", + "stellarTerastallize.description", 25, ).setSecret(true), - SPLICE: new Achv("SPLICE", "SPLICE.description", "dna_splicers", 10), + SPLICE: new Achv("splice", "splice.description", "dna_splicers", 10), MINI_BLACK_HOLE: new ModifierAchv( - "MINI_BLACK_HOLE", - "MINI_BLACK_HOLE.description", + "miniBlackHole", + "miniBlackHole.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", "manaphy_egg", 75).setSecret(), - HATCH_SUB_LEGENDARY: new Achv("HATCH_SUB_LEGENDARY", "HATCH_SUB_LEGENDARY.description", "epic_egg", 100).setSecret(), - HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY", "HATCH_LEGENDARY.description", "legendary_egg", 125).setSecret(), - HATCH_SHINY: new Achv("HATCH_SHINY", "HATCH_SHINY.description", "rogue_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), + CATCH_MYTHICAL: new Achv("catchMythical", "catchMythical.description", "strange_ball", 50).setSecret(), + CATCH_SUB_LEGENDARY: new Achv("catchSubLegendary", "catchSubLegendary.description", "rb", 75).setSecret(), + CATCH_LEGENDARY: new Achv("catchLegendary", "catchLegendary.description", "mb", 100).setSecret(), + SEE_SHINY: new Achv("seeShiny", "seeShiny.description", "pb_gold", 75), + SHINY_PARTY: new Achv("shinyParty", "shinyParty.description", "shiny_charm", 100).setSecret(true), + HATCH_MYTHICAL: new Achv("hatchMythical", "hatchMythical.description", "manaphy_egg", 75).setSecret(), + HATCH_SUB_LEGENDARY: new Achv( + "hatchSubLegendary", + "hatchSubLegendary.description", + "epic_egg", + 100, + ).setSecret(), + HATCH_LEGENDARY: new Achv("hatchLegendary", "hatchLegendary.description", "legendary_egg", 125).setSecret(), + HATCH_SHINY: new Achv("hatchShiny", "hatchShiny.description", "rogue_egg", 100).setSecret(), + HIDDEN_ABILITY: new Achv("hiddenAbility", "hiddenAbility.description", "ability_charm", 75), + PERFECT_IVS: new Achv("perfectIvs", "perfectIvs.description", "blunder_policy", 100), UNEVOLVED_CLASSIC_VICTORY: new Achv( - "UNEVOLVED_CLASSIC_VICTORY", - "UNEVOLVED_CLASSIC_VICTORY.description", + "unevolvedClassicVictory", + "unevolvedClassicVictory.description", "eviolite", 175, _ => globalScene.getPlayerParty().some(p => p.getSpeciesForm(true).speciesId in pokemonEvolutions), ), FRESH_START: new ChallengeAchv( - "FRESH_START", - "FRESH_START.description", + "freshStart", + "freshStart.description", "reviver_seed", 100, c => @@ -526,34 +533,24 @@ export const achvs = { c => [Challenges.INVERSE_BATTLE, Challenges.FLIP_STAT].includes(c.id) && c.value > 0, ), ), - NUZLOCKE: new ChallengeAchv( - "NUZLOCKE", - "NUZLOCKE.description", - "leaf_stone", - 100, - c => - c instanceof LimitedCatchChallenge && - c.value > 0 && - globalScene.gameMode.challenges.some(c => c.id === Challenges.HARDCORE && c.value > 0) && - globalScene.gameMode.challenges.some(c => c.id === Challenges.FRESH_START && c.value > 0), - ), + NUZLOCKE: new ChallengeAchv("nuzlocke", "nuzlocke.description", "leaf_stone", 100, isNuzlockeChallenge), INVERSE_BATTLE: new ChallengeAchv( - "INVERSE_BATTLE", - "INVERSE_BATTLE.description", + "inverseBattle", + "inverseBattle.description", "inverse", 100, c => c instanceof InverseBattleChallenge && c.value > 0, ), FLIP_STATS: new ChallengeAchv( - "FLIP_STATS", - "FLIP_STATS.description", + "flipStats", + "flipStats.description", "dubious_disc", 100, c => c instanceof FlipStatChallenge && c.value > 0, ), MONO_GEN_ONE_VICTORY: new ChallengeAchv( - "MONO_GEN_ONE", - "MONO_GEN_ONE.description", + "monoGenOne", + "monoGenOne.description", "ribbon_gen1", 100, c => @@ -564,8 +561,8 @@ export const achvs = { ), ), MONO_GEN_TWO_VICTORY: new ChallengeAchv( - "MONO_GEN_TWO", - "MONO_GEN_TWO.description", + "monoGenTwo", + "monoGenTwo.description", "ribbon_gen2", 100, c => @@ -576,8 +573,8 @@ export const achvs = { ), ), MONO_GEN_THREE_VICTORY: new ChallengeAchv( - "MONO_GEN_THREE", - "MONO_GEN_THREE.description", + "monoGenThree", + "monoGenThree.description", "ribbon_gen3", 100, c => @@ -588,8 +585,8 @@ export const achvs = { ), ), MONO_GEN_FOUR_VICTORY: new ChallengeAchv( - "MONO_GEN_FOUR", - "MONO_GEN_FOUR.description", + "monoGenFour", + "monoGenFour.description", "ribbon_gen4", 100, c => @@ -600,8 +597,8 @@ export const achvs = { ), ), MONO_GEN_FIVE_VICTORY: new ChallengeAchv( - "MONO_GEN_FIVE", - "MONO_GEN_FIVE.description", + "monoGenFive", + "monoGenFive.description", "ribbon_gen5", 100, c => @@ -612,8 +609,8 @@ export const achvs = { ), ), MONO_GEN_SIX_VICTORY: new ChallengeAchv( - "MONO_GEN_SIX", - "MONO_GEN_SIX.description", + "monoGenSix", + "monoGenSix.description", "ribbon_gen6", 100, c => @@ -624,8 +621,8 @@ export const achvs = { ), ), MONO_GEN_SEVEN_VICTORY: new ChallengeAchv( - "MONO_GEN_SEVEN", - "MONO_GEN_SEVEN.description", + "monoGenSeven", + "monoGenSeven.description", "ribbon_gen7", 100, c => @@ -636,8 +633,8 @@ export const achvs = { ), ), MONO_GEN_EIGHT_VICTORY: new ChallengeAchv( - "MONO_GEN_EIGHT", - "MONO_GEN_EIGHT.description", + "monoGenEight", + "monoGenEight.description", "ribbon_gen8", 100, c => @@ -648,8 +645,8 @@ export const achvs = { ), ), MONO_GEN_NINE_VICTORY: new ChallengeAchv( - "MONO_GEN_NINE", - "MONO_GEN_NINE.description", + "monoGenNine", + "monoGenNine.description", "ribbon_gen9", 100, c => @@ -660,8 +657,8 @@ export const achvs = { ), ), MONO_NORMAL: new ChallengeAchv( - "MONO_NORMAL", - "MONO_NORMAL.description", + "monoNormal", + "monoNormal.description", "silk_scarf", 100, c => @@ -672,8 +669,8 @@ export const achvs = { ), ), MONO_FIGHTING: new ChallengeAchv( - "MONO_FIGHTING", - "MONO_FIGHTING.description", + "monoFighting", + "monoFighting.description", "black_belt", 100, c => @@ -684,8 +681,8 @@ export const achvs = { ), ), MONO_FLYING: new ChallengeAchv( - "MONO_FLYING", - "MONO_FLYING.description", + "monoFlying", + "monoFlying.description", "sharp_beak", 100, c => @@ -696,8 +693,8 @@ export const achvs = { ), ), MONO_POISON: new ChallengeAchv( - "MONO_POISON", - "MONO_POISON.description", + "monoPoison", + "monoPoison.description", "poison_barb", 100, c => @@ -708,8 +705,8 @@ export const achvs = { ), ), MONO_GROUND: new ChallengeAchv( - "MONO_GROUND", - "MONO_GROUND.description", + "monoGround", + "monoGround.description", "soft_sand", 100, c => @@ -720,8 +717,8 @@ export const achvs = { ), ), MONO_ROCK: new ChallengeAchv( - "MONO_ROCK", - "MONO_ROCK.description", + "monoRock", + "monoRock.description", "hard_stone", 100, c => @@ -732,8 +729,8 @@ export const achvs = { ), ), MONO_BUG: new ChallengeAchv( - "MONO_BUG", - "MONO_BUG.description", + "monoBug", + "monoBug.description", "silver_powder", 100, c => @@ -744,8 +741,8 @@ export const achvs = { ), ), MONO_GHOST: new ChallengeAchv( - "MONO_GHOST", - "MONO_GHOST.description", + "monoGhost", + "monoGhost.description", "spell_tag", 100, c => @@ -756,8 +753,8 @@ export const achvs = { ), ), MONO_STEEL: new ChallengeAchv( - "MONO_STEEL", - "MONO_STEEL.description", + "monoSteel", + "monoSteel.description", "metal_coat", 100, c => @@ -768,8 +765,8 @@ export const achvs = { ), ), MONO_FIRE: new ChallengeAchv( - "MONO_FIRE", - "MONO_FIRE.description", + "monoFire", + "monoFire.description", "charcoal", 100, c => @@ -780,8 +777,8 @@ export const achvs = { ), ), MONO_WATER: new ChallengeAchv( - "MONO_WATER", - "MONO_WATER.description", + "monoWater", + "monoWater.description", "mystic_water", 100, c => @@ -792,8 +789,8 @@ export const achvs = { ), ), MONO_GRASS: new ChallengeAchv( - "MONO_GRASS", - "MONO_GRASS.description", + "monoGrass", + "monoGrass.description", "miracle_seed", 100, c => @@ -804,8 +801,8 @@ export const achvs = { ), ), MONO_ELECTRIC: new ChallengeAchv( - "MONO_ELECTRIC", - "MONO_ELECTRIC.description", + "monoElectric", + "monoElectric.description", "magnet", 100, c => @@ -816,8 +813,8 @@ export const achvs = { ), ), MONO_PSYCHIC: new ChallengeAchv( - "MONO_PSYCHIC", - "MONO_PSYCHIC.description", + "monoPsychic", + "monoPsychic.description", "twisted_spoon", 100, c => @@ -828,8 +825,8 @@ export const achvs = { ), ), MONO_ICE: new ChallengeAchv( - "MONO_ICE", - "MONO_ICE.description", + "monoIce", + "monoIce.description", "never_melt_ice", 100, c => @@ -840,8 +837,8 @@ export const achvs = { ), ), MONO_DRAGON: new ChallengeAchv( - "MONO_DRAGON", - "MONO_DRAGON.description", + "monoDragon", + "monoDragon.description", "dragon_fang", 100, c => @@ -852,8 +849,8 @@ export const achvs = { ), ), MONO_DARK: new ChallengeAchv( - "MONO_DARK", - "MONO_DARK.description", + "monoDark", + "monoDark.description", "black_glasses", 100, c => @@ -864,8 +861,8 @@ export const achvs = { ), ), MONO_FAIRY: new ChallengeAchv( - "MONO_FAIRY", - "MONO_FAIRY.description", + "monoFairy", + "monoFairy.description", "fairy_feather", 100, c => @@ -876,8 +873,8 @@ export const achvs = { ), ), FLIP_INVERSE: new ChallengeAchv( - "FLIP_INVERSE", - "FLIP_INVERSE.description", + "flipInverse", + "flipInverse.description", "cracked_pot", 100, c => @@ -885,7 +882,7 @@ export const achvs = { c.value > 0 && globalScene.gameMode.challenges.some(c => c.id === Challenges.INVERSE_BATTLE && c.value > 0), ).setSecret(), - BREEDERS_IN_SPACE: new Achv("BREEDERS_IN_SPACE", "BREEDERS_IN_SPACE.description", "moon_stone", 50).setSecret(), + BREEDERS_IN_SPACE: new Achv("breedersInSpace", "breedersInSpace.description", "moon_stone", 50).setSecret(), }; export function initAchievements() { diff --git a/src/system/game-data.ts b/src/system/game-data.ts index ae559072e35..90cbf6e18cc 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -48,6 +48,7 @@ import { EggData } from "#system/egg-data"; import { GameStats } from "#system/game-stats"; import { ModifierData as PersistentModifierData } from "#system/modifier-data"; import { PokemonData } from "#system/pokemon-data"; +import { RibbonData } from "#system/ribbons/ribbon-data"; import { resetSettings, SettingKeys, setSetting } from "#system/settings"; import { SettingGamepad, setSettingGamepad, settingGamepadDefaults } from "#system/settings-gamepad"; import type { SettingKeyboard } from "#system/settings-keyboard"; @@ -127,6 +128,8 @@ export interface SessionSaveData { battleType: BattleType; trainer: TrainerData; gameVersion: string; + /** The player-chosen name of the run */ + name: string; timestamp: number; challenges: ChallengeData[]; mysteryEncounterType: MysteryEncounterType | -1; // Only defined when current wave is ME, @@ -206,10 +209,12 @@ export interface StarterData { [key: number]: StarterDataEntry; } -export interface TutorialFlags { - [key: string]: boolean; -} +// TODO: Rework into a bitmask +export type TutorialFlags = { + [key in Tutorial]: boolean; +}; +// TODO: Rework into a bitmask export interface SeenDialogues { [key: string]: boolean; } @@ -399,121 +404,121 @@ export class GameData { } public initSystem(systemDataStr: string, cachedSystemDataStr?: string): Promise { - return new Promise(resolve => { - try { - let systemData = this.parseSystemData(systemDataStr); + const { promise, resolve } = Promise.withResolvers(); + try { + let systemData = this.parseSystemData(systemDataStr); - if (cachedSystemDataStr) { - const cachedSystemData = this.parseSystemData(cachedSystemDataStr); - if (cachedSystemData.timestamp > systemData.timestamp) { - console.debug("Use cached system"); - systemData = cachedSystemData; - systemDataStr = cachedSystemDataStr; - } else { - this.clearLocalData(); - } - } - - console.debug(systemData); - - localStorage.setItem(`data_${loggedInUser?.username}`, encrypt(systemDataStr, bypassLogin)); - - const lsItemKey = `runHistoryData_${loggedInUser?.username}`; - const lsItem = localStorage.getItem(lsItemKey); - if (!lsItem) { - localStorage.setItem(lsItemKey, ""); - } - - applySystemVersionMigration(systemData); - - this.trainerId = systemData.trainerId; - this.secretId = systemData.secretId; - - this.gender = systemData.gender; - - this.saveSetting(SettingKeys.Player_Gender, systemData.gender === PlayerGender.FEMALE ? 1 : 0); - - if (!systemData.starterData) { - this.initStarterData(); - - if (systemData["starterMoveData"]) { - const starterMoveData = systemData["starterMoveData"]; - for (const s of Object.keys(starterMoveData)) { - this.starterData[s].moveset = starterMoveData[s]; - } - } - - if (systemData["starterEggMoveData"]) { - const starterEggMoveData = systemData["starterEggMoveData"]; - for (const s of Object.keys(starterEggMoveData)) { - this.starterData[s].eggMoves = starterEggMoveData[s]; - } - } - - this.migrateStarterAbilities(systemData, this.starterData); - - const starterIds = Object.keys(this.starterData).map(s => Number.parseInt(s) as SpeciesId); - for (const s of starterIds) { - this.starterData[s].candyCount += systemData.dexData[s].caughtCount; - this.starterData[s].candyCount += systemData.dexData[s].hatchedCount * 2; - if (systemData.dexData[s].caughtAttr & DexAttr.SHINY) { - this.starterData[s].candyCount += 4; - } - } + if (cachedSystemDataStr) { + const cachedSystemData = this.parseSystemData(cachedSystemDataStr); + if (cachedSystemData.timestamp > systemData.timestamp) { + console.debug("Use cached system"); + systemData = cachedSystemData; + systemDataStr = cachedSystemDataStr; } else { - this.starterData = systemData.starterData; + this.clearLocalData(); } - - if (systemData.gameStats) { - this.gameStats = systemData.gameStats; - } - - if (systemData.unlocks) { - for (const key of Object.keys(systemData.unlocks)) { - if (this.unlocks.hasOwnProperty(key)) { - this.unlocks[key] = systemData.unlocks[key]; - } - } - } - - if (systemData.achvUnlocks) { - for (const a of Object.keys(systemData.achvUnlocks)) { - if (achvs.hasOwnProperty(a)) { - this.achvUnlocks[a] = systemData.achvUnlocks[a]; - } - } - } - - if (systemData.voucherUnlocks) { - for (const v of Object.keys(systemData.voucherUnlocks)) { - if (vouchers.hasOwnProperty(v)) { - this.voucherUnlocks[v] = systemData.voucherUnlocks[v]; - } - } - } - - if (systemData.voucherCounts) { - getEnumKeys(VoucherType).forEach(key => { - const index = VoucherType[key]; - this.voucherCounts[index] = systemData.voucherCounts[index] || 0; - }); - } - - this.eggs = systemData.eggs ? systemData.eggs.map(e => e.toEgg()) : []; - - this.eggPity = systemData.eggPity ? systemData.eggPity.slice(0) : [0, 0, 0, 0]; - this.unlockPity = systemData.unlockPity ? systemData.unlockPity.slice(0) : [0, 0, 0, 0]; - - this.dexData = Object.assign(this.dexData, systemData.dexData); - this.consolidateDexData(this.dexData); - this.defaultDexData = null; - - resolve(true); - } catch (err) { - console.error(err); - resolve(false); } - }); + + console.debug(systemData); + + localStorage.setItem(`data_${loggedInUser?.username}`, encrypt(systemDataStr, bypassLogin)); + + const lsItemKey = `runHistoryData_${loggedInUser?.username}`; + const lsItem = localStorage.getItem(lsItemKey); + if (!lsItem) { + localStorage.setItem(lsItemKey, ""); + } + + applySystemVersionMigration(systemData); + + this.trainerId = systemData.trainerId; + this.secretId = systemData.secretId; + + this.gender = systemData.gender; + + this.saveSetting(SettingKeys.Player_Gender, systemData.gender === PlayerGender.FEMALE ? 1 : 0); + + if (!systemData.starterData) { + this.initStarterData(); + + if (systemData["starterMoveData"]) { + const starterMoveData = systemData["starterMoveData"]; + for (const s of Object.keys(starterMoveData)) { + this.starterData[s].moveset = starterMoveData[s]; + } + } + + if (systemData["starterEggMoveData"]) { + const starterEggMoveData = systemData["starterEggMoveData"]; + for (const s of Object.keys(starterEggMoveData)) { + this.starterData[s].eggMoves = starterEggMoveData[s]; + } + } + + this.migrateStarterAbilities(systemData, this.starterData); + + const starterIds = Object.keys(this.starterData).map(s => Number.parseInt(s) as SpeciesId); + for (const s of starterIds) { + this.starterData[s].candyCount += systemData.dexData[s].caughtCount; + this.starterData[s].candyCount += systemData.dexData[s].hatchedCount * 2; + if (systemData.dexData[s].caughtAttr & DexAttr.SHINY) { + this.starterData[s].candyCount += 4; + } + } + } else { + this.starterData = systemData.starterData; + } + + if (systemData.gameStats) { + this.gameStats = systemData.gameStats; + } + + if (systemData.unlocks) { + for (const key of Object.keys(systemData.unlocks)) { + if (this.unlocks.hasOwnProperty(key)) { + this.unlocks[key] = systemData.unlocks[key]; + } + } + } + + if (systemData.achvUnlocks) { + for (const a of Object.keys(systemData.achvUnlocks)) { + if (achvs.hasOwnProperty(a)) { + this.achvUnlocks[a] = systemData.achvUnlocks[a]; + } + } + } + + if (systemData.voucherUnlocks) { + for (const v of Object.keys(systemData.voucherUnlocks)) { + if (vouchers.hasOwnProperty(v)) { + this.voucherUnlocks[v] = systemData.voucherUnlocks[v]; + } + } + } + + if (systemData.voucherCounts) { + getEnumKeys(VoucherType).forEach(key => { + const index = VoucherType[key]; + this.voucherCounts[index] = systemData.voucherCounts[index] || 0; + }); + } + + this.eggs = systemData.eggs ? systemData.eggs.map(e => e.toEgg()) : []; + + this.eggPity = systemData.eggPity ? systemData.eggPity.slice(0) : [0, 0, 0, 0]; + this.unlockPity = systemData.unlockPity ? systemData.unlockPity.slice(0) : [0, 0, 0, 0]; + + this.dexData = Object.assign(this.dexData, systemData.dexData); + this.consolidateDexData(this.dexData); + this.defaultDexData = null; + + resolve(true); + } catch (err) { + console.error(err); + resolve(false); + } + return promise; } /** @@ -624,6 +629,9 @@ export class GameData { } return ret; } + if (k === "ribbons") { + return RibbonData.fromJSON(v); + } return k.endsWith("Attr") && !["natureAttr", "abilityAttr", "passiveAttr"].includes(k) ? BigInt(v ?? 0) : v; }) as SystemSaveData; @@ -822,52 +830,51 @@ export class GameData { return true; // TODO: is `true` the correct return value? } - private loadGamepadSettings(): boolean { - Object.values(SettingGamepad) - .map(setting => setting as SettingGamepad) - .forEach(setting => setSettingGamepad(setting, settingGamepadDefaults[setting])); + private loadGamepadSettings(): void { + Object.values(SettingGamepad).forEach(setting => { + setSettingGamepad(setting, settingGamepadDefaults[setting]); + }); if (!localStorage.hasOwnProperty("settingsGamepad")) { - return false; + return; } const settingsGamepad = JSON.parse(localStorage.getItem("settingsGamepad")!); // TODO: is this bang correct? for (const setting of Object.keys(settingsGamepad)) { setSettingGamepad(setting as SettingGamepad, settingsGamepad[setting]); } - - return true; // TODO: is `true` the correct return value? } - public saveTutorialFlag(tutorial: Tutorial, flag: boolean): boolean { - const key = getDataTypeKey(GameDataType.TUTORIALS); - let tutorials: object = {}; - if (localStorage.hasOwnProperty(key)) { - tutorials = JSON.parse(localStorage.getItem(key)!); // TODO: is this bang correct? + /** + * Save the specified tutorial as having the specified completion status. + * @param tutorial - The {@linkcode Tutorial} whose completion status is being saved + * @param status - The completion status to set + */ + public saveTutorialFlag(tutorial: Tutorial, status: boolean): void { + // Grab the prior save data tutorial + const saveDataKey = getDataTypeKey(GameDataType.TUTORIALS); + const tutorials: TutorialFlags = localStorage.hasOwnProperty(saveDataKey) + ? JSON.parse(localStorage.getItem(saveDataKey)!) + : {}; + + // TODO: We shouldn't be storing this like that + for (const key of Object.values(Tutorial)) { + if (key === tutorial) { + tutorials[key] = status; + } else { + tutorials[key] ??= false; + } } - Object.keys(Tutorial) - .map(t => t as Tutorial) - .forEach(t => { - const key = Tutorial[t]; - if (key === tutorial) { - tutorials[key] = flag; - } else { - tutorials[key] ??= false; - } - }); - - localStorage.setItem(key, JSON.stringify(tutorials)); - - return true; + localStorage.setItem(saveDataKey, JSON.stringify(tutorials)); } public getTutorialFlags(): TutorialFlags { const key = getDataTypeKey(GameDataType.TUTORIALS); - const ret: TutorialFlags = {}; - Object.values(Tutorial) - .map(tutorial => tutorial as Tutorial) - .forEach(tutorial => (ret[Tutorial[tutorial]] = false)); + const ret: TutorialFlags = Object.values(Tutorial).reduce((acc, tutorial) => { + acc[Tutorial[tutorial]] = false; + return acc; + }, {} as TutorialFlags); if (!localStorage.hasOwnProperty(key)) { return ret; @@ -979,6 +986,48 @@ export class GameData { }); } + async renameSession(slotId: number, newName: string): Promise { + if (slotId < 0) { + return false; + } + if (newName === "") { + return true; + } + const sessionData: SessionSaveData | null = await this.getSession(slotId); + + if (!sessionData) { + return false; + } + + sessionData.name = newName; + // update timestamp by 1 to ensure the session is saved + sessionData.timestamp += 1; + const updatedDataStr = JSON.stringify(sessionData); + const encrypted = encrypt(updatedDataStr, bypassLogin); + const secretId = this.secretId; + const trainerId = this.trainerId; + + if (bypassLogin) { + localStorage.setItem( + `sessionData${slotId ? slotId : ""}_${loggedInUser?.username}`, + encrypt(updatedDataStr, bypassLogin), + ); + return true; + } + + const response = await pokerogueApi.savedata.session.update( + { slot: slotId, trainerId, secretId, clientSessionId }, + updatedDataStr, + ); + + if (response) { + return false; + } + localStorage.setItem(`sessionData${slotId ? slotId : ""}_${loggedInUser?.username}`, encrypted); + const success = await updateUserInfo(); + return !(success !== null && !success); + } + loadSession(slotId: number, sessionData?: SessionSaveData): Promise { // biome-ignore lint/suspicious/noAsyncPromiseExecutor: TODO: fix this return new Promise(async (resolve, reject) => { @@ -1584,6 +1633,7 @@ export class GameData { caughtCount: 0, hatchedCount: 0, ivs: [0, 0, 0, 0, 0, 0], + ribbons: new RibbonData(0), }; } @@ -1828,6 +1878,12 @@ export class GameData { }); } + /** + * Increase the number of classic ribbons won with this species. + * @param species - The species to increment the ribbon count for + * @param forStarter - If true, will increment the ribbon count for the root species of the given species + * @returns The number of classic wins after incrementing. + */ incrementRibbonCount(species: PokemonSpecies, forStarter = false): number { const speciesIdToIncrement: SpeciesId = species.getRootSpeciesId(forStarter); @@ -2127,6 +2183,9 @@ export class GameData { if (!entry.hasOwnProperty("natureAttr") || (entry.caughtAttr && !entry.natureAttr)) { entry.natureAttr = this.defaultDexData?.[k].natureAttr || 1 << randInt(25, 1); } + if (!entry.hasOwnProperty("ribbons")) { + entry.ribbons = new RibbonData(0); + } } } diff --git a/src/system/ribbons/ribbon-data.ts b/src/system/ribbons/ribbon-data.ts new file mode 100644 index 00000000000..27e68a36a15 --- /dev/null +++ b/src/system/ribbons/ribbon-data.ts @@ -0,0 +1,148 @@ +import type { Brander } from "#types/type-helpers"; + +export type RibbonFlag = (bigint & Brander<"RibbonFlag">) | 0n; + +/** + * Class for ribbon data management. Usually constructed via the {@linkcode fromJSON} method. + * + * @remarks + * Stores information about the ribbons earned by a species using a bitfield. + */ +export class RibbonData { + /** Internal bitfield storing the unlock state for each ribbon */ + private payload: bigint; + + //#region Ribbons + //#region Monotype challenge ribbons + /** Ribbon for winning the normal monotype challenge */ + public static readonly MONO_NORMAL = 0x1n as RibbonFlag; + /** Ribbon for winning the fighting monotype challenge */ + public static readonly MONO_FIGHTING = 0x2n as RibbonFlag; + /** Ribbon for winning the flying monotype challenge */ + public static readonly MONO_FLYING = 0x4n as RibbonFlag; + /** Ribbon for winning the poision monotype challenge */ + public static readonly MONO_POISON = 0x8n as RibbonFlag; + /** Ribbon for winning the ground monotype challenge */ + public static readonly MONO_GROUND = 0x10n as RibbonFlag; + /** Ribbon for winning the rock monotype challenge */ + public static readonly MONO_ROCK = 0x20n as RibbonFlag; + /** Ribbon for winning the bug monotype challenge */ + public static readonly MONO_BUG = 0x40n as RibbonFlag; + /** Ribbon for winning the ghost monotype challenge */ + public static readonly MONO_GHOST = 0x80n as RibbonFlag; + /** Ribbon for winning the steel monotype challenge */ + public static readonly MONO_STEEL = 0x100n as RibbonFlag; + /** Ribbon for winning the fire monotype challenge */ + public static readonly MONO_FIRE = 0x200n as RibbonFlag; + /** Ribbon for winning the water monotype challenge */ + public static readonly MONO_WATER = 0x400n as RibbonFlag; + /** Ribbon for winning the grass monotype challenge */ + public static readonly MONO_GRASS = 0x800n as RibbonFlag; + /** Ribbon for winning the electric monotype challenge */ + public static readonly MONO_ELECTRIC = 0x1000n as RibbonFlag; + /** Ribbon for winning the psychic monotype challenge */ + public static readonly MONO_PSYCHIC = 0x2000n as RibbonFlag; + /** Ribbon for winning the ice monotype challenge */ + public static readonly MONO_ICE = 0x4000n as RibbonFlag; + /** Ribbon for winning the dragon monotype challenge */ + public static readonly MONO_DRAGON = 0x8000n as RibbonFlag; + /** Ribbon for winning the dark monotype challenge */ + public static readonly MONO_DARK = 0x10000n as RibbonFlag; + /** Ribbon for winning the fairy monotype challenge */ + public static readonly MONO_FAIRY = 0x20000n as RibbonFlag; + //#endregion Monotype ribbons + + //#region Monogen ribbons + /** Ribbon for winning the the mono gen 1 challenge */ + public static readonly MONO_GEN_1 = 0x40000n as RibbonFlag; + /** Ribbon for winning the the mono gen 2 challenge */ + public static readonly MONO_GEN_2 = 0x80000n as RibbonFlag; + /** Ribbon for winning the mono gen 3 challenge */ + public static readonly MONO_GEN_3 = 0x100000n as RibbonFlag; + /** Ribbon for winning the mono gen 4 challenge */ + public static readonly MONO_GEN_4 = 0x200000n as RibbonFlag; + /** Ribbon for winning the mono gen 5 challenge */ + public static readonly MONO_GEN_5 = 0x400000n as RibbonFlag; + /** Ribbon for winning the mono gen 6 challenge */ + public static readonly MONO_GEN_6 = 0x800000n as RibbonFlag; + /** Ribbon for winning the mono gen 7 challenge */ + public static readonly MONO_GEN_7 = 0x1000000n as RibbonFlag; + /** Ribbon for winning the mono gen 8 challenge */ + public static readonly MONO_GEN_8 = 0x2000000n as RibbonFlag; + /** Ribbon for winning the mono gen 9 challenge */ + public static readonly MONO_GEN_9 = 0x4000000n as RibbonFlag; + //#endregion Monogen ribbons + + /** Ribbon for winning classic */ + public static readonly CLASSIC = 0x8000000n as RibbonFlag; + /** Ribbon for winning the nuzzlocke challenge */ + public static readonly NUZLOCKE = 0x10000000n as RibbonFlag; + /** Ribbon for reaching max friendship */ + public static readonly FRIENDSHIP = 0x20000000n as RibbonFlag; + /** Ribbon for winning the flip stats challenge */ + public static readonly FLIP_STATS = 0x40000000n as RibbonFlag; + /** Ribbon for winning the inverse challenge */ + public static readonly INVERSE = 0x80000000n as RibbonFlag; + /** Ribbon for winning the fresh start challenge */ + public static readonly FRESH_START = 0x100000000n as RibbonFlag; + /** Ribbon for winning the hardcore challenge */ + public static readonly HARDCORE = 0x200000000n as RibbonFlag; + /** Ribbon for winning the limited catch challenge */ + public static readonly LIMITED_CATCH = 0x400000000n as RibbonFlag; + /** Ribbon for winning the limited support challenge set to no heal */ + public static readonly NO_HEAL = 0x800000000n as RibbonFlag; + /** Ribbon for winning the limited uspport challenge set to no shop */ + public static readonly NO_SHOP = 0x1000000000n as RibbonFlag; + /** Ribbon for winning the limited support challenge set to both*/ + public static readonly NO_SUPPORT = 0x2000000000n as RibbonFlag; + + // NOTE: max possible ribbon flag is 0x20000000000000 (53 total ribbons) + // Once this is exceeded, bitfield needs to be changed to a bigint or even a uint array + // Note that this has no impact on serialization as it is stored in hex. + + //#endregion Ribbons + + /** Create a new instance of RibbonData. Generally, {@linkcode fromJSON} is used instead. */ + constructor(value: number) { + this.payload = BigInt(value); + } + + /** Serialize the bitfield payload as a hex encoded string */ + public toJSON(): string { + return this.payload.toString(16); + } + + /** + * Decode a hexadecimal string representation of the bitfield into a `RibbonData` instance + * + * @param value - Hexadecimal string representation of the bitfield (without the leading 0x) + * @returns A new instance of `RibbonData` initialized with the provided bitfield. + */ + public static fromJSON(value: string): RibbonData { + try { + return new RibbonData(Number.parseInt(value, 16)); + } catch { + return new RibbonData(0); + } + } + + /** + * Award one or more ribbons to the ribbon data by setting the corresponding flags in the bitfield. + * + * @param flags - The flags to set. Can be a single flag or multiple flags. + */ + public award(...flags: [RibbonFlag, ...RibbonFlag[]]): void { + for (const f of flags) { + this.payload |= f; + } + } + + /** + * Check if a specific ribbon has been awarded + * @param flag - The ribbon to check + * @returns Whether the specified flag has been awarded + */ + public has(flag: RibbonFlag): boolean { + return !!(this.payload & flag); + } +} diff --git a/src/system/ribbons/ribbon-methods.ts b/src/system/ribbons/ribbon-methods.ts new file mode 100644 index 00000000000..138c0be7b51 --- /dev/null +++ b/src/system/ribbons/ribbon-methods.ts @@ -0,0 +1,20 @@ +import { globalScene } from "#app/global-scene"; +import { pokemonPrevolutions } from "#balance/pokemon-evolutions"; +import type { SpeciesId } from "#enums/species-id"; +import type { RibbonFlag } from "#system/ribbons/ribbon-data"; +import { isNullOrUndefined } from "#utils/common"; + +/** + * Award one or more ribbons to a species and its pre-evolutions + * + * @param id - The ID of the species to award ribbons to + * @param ribbons - The ribbon(s) to award (use bitwise OR to combine multiple) + */ +export function awardRibbonsToSpeciesLine(id: SpeciesId, ribbons: RibbonFlag): void { + const dexData = globalScene.gameData.dexData; + dexData[id].ribbons.award(ribbons); + // Mark all pre-evolutions of the Pokémon with the same ribbon flags. + for (let prevoId = pokemonPrevolutions[id]; !isNullOrUndefined(prevoId); prevoId = pokemonPrevolutions[prevoId]) { + dexData[prevoId].ribbons.award(ribbons); + } +} diff --git a/src/ui/achvs-ui-handler.ts b/src/ui/achvs-ui-handler.ts index c558a425a87..b0f49d13c86 100644 --- a/src/ui/achvs-ui-handler.ts +++ b/src/ui/achvs-ui-handler.ts @@ -96,7 +96,7 @@ export class AchvsUiHandler extends MessageUiHandler { const genderIndex = globalScene.gameData.gender ?? PlayerGender.MALE; const genderStr = PlayerGender[genderIndex].toLowerCase(); - this.achvsName = i18next.t("achv:Achievements.name", { context: genderStr }); + this.achvsName = i18next.t("achv:achievements.name", { context: genderStr }); this.vouchersName = i18next.t("voucher:vouchers"); this.iconsBg = addWindow(0, this.headerBg.height, WIDTH - 2, HEIGHT - this.headerBg.height - 68).setOrigin(0); @@ -214,7 +214,7 @@ export class AchvsUiHandler extends MessageUiHandler { 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"), + unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t("achv:locked.name"), ); } diff --git a/src/ui/base-stats-overlay.ts b/src/ui/base-stats-overlay.ts index 3b432e13096..b3cccf34298 100644 --- a/src/ui/base-stats-overlay.ts +++ b/src/ui/base-stats-overlay.ts @@ -4,6 +4,7 @@ import { TextStyle } from "#enums/text-style"; import { addTextObject } from "#ui/text"; import { addWindow } from "#ui/ui-theme"; import { fixedInt } from "#utils/common"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; interface BaseStatsOverlaySettings { @@ -68,7 +69,9 @@ export class BaseStatsOverlay extends Phaser.GameObjects.Container implements In // show this component with infos for the specific move show(values: number[], total: number): boolean { for (let i = 0; i < 6; i++) { - this.statsLabels[i].setText(i18next.t(`pokemonInfo:Stat.${shortStats[i]}shortened`) + ": " + `${values[i]}`); + this.statsLabels[i].setText( + i18next.t(`pokemonInfo:stat.${toCamelCase(shortStats[i])}Shortened`) + ": " + `${values[i]}`, + ); // This accounts for base stats up to 200, might not be enough. // TODO: change color based on value. this.statsShadows[i].setSize(values[i] / 2, 5); diff --git a/src/ui/battle-info/battle-info.ts b/src/ui/battle-info/battle-info.ts index 0aedfbdf5e7..810d0c7c328 100644 --- a/src/ui/battle-info/battle-info.ts +++ b/src/ui/battle-info/battle-info.ts @@ -9,6 +9,7 @@ import type { Pokemon } from "#field/pokemon"; import { getVariantTint } from "#sprites/variant"; import { addTextObject } from "#ui/text"; import { fixedInt, getLocalizedSpriteKey, getShinyDescriptor } from "#utils/common"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; /** @@ -361,7 +362,7 @@ export abstract class BattleInfo extends Phaser.GameObjects.Container { globalScene.ui.showTooltip( "", i18next.t("fightUiHandler:teraHover", { - type: i18next.t(`pokemonInfo:Type.${PokemonType[this.lastTeraType]}`), + type: i18next.t(`pokemonInfo:type.${toCamelCase(PokemonType[this.lastTeraType])}`), }), ); } diff --git a/src/ui/bgm-bar.ts b/src/ui/bgm-bar.ts index e2c6925ec30..f24f372a804 100644 --- a/src/ui/bgm-bar.ts +++ b/src/ui/bgm-bar.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; import { TextStyle } from "#enums/text-style"; import { addTextObject } from "#ui/text"; -import { toTitleCase } from "#utils/strings"; +import { toCamelCase, toTitleCase } from "#utils/strings"; import i18next from "i18next"; const hiddenX = -150; @@ -100,7 +100,7 @@ export class BgmBar extends Phaser.GameObjects.Container { } getRealBgmName(bgmName: string): string { - return i18next.t([`bgmName:${bgmName}`, "bgmName:missing_entries"], { + return i18next.t([`bgmName:${toCamelCase(bgmName)}`, "bgmName:missingEntries"], { name: toTitleCase(bgmName), }); } diff --git a/src/ui/confirm-ui-handler.ts b/src/ui/confirm-ui-handler.ts index 49e88556f1b..529d1bd8bbb 100644 --- a/src/ui/confirm-ui-handler.ts +++ b/src/ui/confirm-ui-handler.ts @@ -31,14 +31,14 @@ export class ConfirmUiHandler extends AbstractOptionSelectUiHandler { const config: OptionSelectConfig = { options: [ { - label: i18next.t("partyUiHandler:SUMMARY"), + label: i18next.t("partyUiHandler:summary"), handler: () => { args[0](); return true; }, }, { - label: i18next.t("partyUiHandler:POKEDEX"), + label: i18next.t("partyUiHandler:pokedex"), handler: () => { args[1](); return true; diff --git a/src/ui/game-stats-ui-handler.ts b/src/ui/game-stats-ui-handler.ts index ed66230bed7..d2a9779f515 100644 --- a/src/ui/game-stats-ui-handler.ts +++ b/src/ui/game-stats-ui-handler.ts @@ -1,7 +1,9 @@ +import { loggedInUser } from "#app/account"; import { globalScene } from "#app/global-scene"; import { speciesStarterCosts } from "#balance/starters"; import { Button } from "#enums/buttons"; import { DexAttr } from "#enums/dex-attr"; +import { PlayerGender } from "#enums/player-gender"; import { TextStyle } from "#enums/text-style"; import { UiTheme } from "#enums/ui-theme"; import type { GameData } from "#system/game-data"; @@ -227,6 +229,9 @@ export class GameStatsUiHandler extends UiHandler { private arrowUp: Phaser.GameObjects.Sprite; private arrowDown: Phaser.GameObjects.Sprite; + /** Logged in username */ + private headerText: Phaser.GameObjects.Text; + /** Whether the UI is single column mode */ private get singleCol(): boolean { const resolvedLang = i18next.resolvedLanguage ?? "en"; @@ -296,6 +301,23 @@ export class GameStatsUiHandler extends UiHandler { return GameStatsUiHandler.ROWS_PER_PAGE * this.columnCount; } + /** + * Returns the username of logged in user. If the username is hidden, the trainer name based on gender will be displayed. + * @returns The username of logged in user + */ + private getUsername(): string { + const usernameReplacement = + globalScene.gameData.gender === PlayerGender.FEMALE + ? i18next.t("trainerNames:player_f") + : i18next.t("trainerNames:player_m"); + + const displayName = !globalScene.hideUsername + ? (loggedInUser?.username ?? i18next.t("common:guest")) + : usernameReplacement; + + return i18next.t("gameStatsUiHandler:stats", { username: displayName }); + } + // #endregion Columnar-specific properties setup() { @@ -316,11 +338,11 @@ export class GameStatsUiHandler extends UiHandler { const headerBg = addWindow(0, 0, sWidth - 2, 24).setOrigin(0); - const headerText = addTextObject(0, 0, i18next.t("gameStatsUiHandler:stats"), TextStyle.HEADER_LABEL) + this.headerText = addTextObject(0, 0, this.getUsername(), TextStyle.HEADER_LABEL) .setOrigin(0) .setPositionRelative(headerBg, 8, 4); - this.gameStatsContainer.add([headerBg, headerText]); + this.gameStatsContainer.add([headerBg, this.headerText]); const colWidth = this.colWidth; @@ -368,6 +390,10 @@ export class GameStatsUiHandler extends UiHandler { show(args: any[]): boolean { super.show(args); + + // show updated username on every render + this.headerText.setText(this.getUsername()); + this.gameStatsContainer.setActive(true).setVisible(true); this.arrowUp.setActive(true).play("prompt").setVisible(false); diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index da6bc9ced78..4f6d6ede488 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -17,6 +17,7 @@ import { addWindow, WindowVariant } from "#ui/ui-theme"; import { fixedInt, isLocal, sessionIdKey } from "#utils/common"; import { getCookie } from "#utils/cookies"; import { getEnumValues } from "#utils/enums"; +import { toCamelCase } from "#utils/strings"; import { isBeta } from "#utils/utility-vars"; import i18next from "i18next"; @@ -138,7 +139,7 @@ export class MenuUiHandler extends MessageUiHandler { this.optionSelectText = addTextObject( 0, 0, - this.menuOptions.map(o => `${i18next.t(`menuUiHandler:${MenuOptions[o]}`)}`).join("\n"), + this.menuOptions.map(o => `${i18next.t(`menuUiHandler:${toCamelCase(MenuOptions[o])}`)}`).join("\n"), TextStyle.WINDOW, { maxLines: this.menuOptions.length }, ); diff --git a/src/ui/mystery-encounter-ui-handler.ts b/src/ui/mystery-encounter-ui-handler.ts index 881c375fa8a..37f77cf43b9 100644 --- a/src/ui/mystery-encounter-ui-handler.ts +++ b/src/ui/mystery-encounter-ui-handler.ts @@ -473,7 +473,7 @@ export class MysteryEncounterUiHandler extends UiHandler { const viewPartyText = addBBCodeTextObject( globalScene.scaledCanvas.width, -24, - getBBCodeFrag(i18next.t("mysteryEncounterMessages:view_party_button"), TextStyle.PARTY), + getBBCodeFrag(i18next.t("mysteryEncounterMessages:viewPartyButton"), TextStyle.PARTY), TextStyle.PARTY, ); this.optionsContainer.add(viewPartyText); @@ -694,7 +694,7 @@ export class MysteryEncounterUiHandler extends UiHandler { duration: 750, onComplete: () => { this.dexProgressContainer.on("pointerover", () => { - globalScene.ui.showTooltip("", i18next.t("mysteryEncounterMessages:affects_pokedex"), true); + globalScene.ui.showTooltip("", i18next.t("mysteryEncounterMessages:affectsPokedex"), true); }); this.dexProgressContainer.on("pointerout", () => { globalScene.ui.hideTooltip(); diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index ff5e7246a6f..6ca134ebd75 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -27,10 +27,15 @@ import { addBBCodeTextObject, addTextObject, getTextColor } from "#ui/text"; import { addWindow } from "#ui/ui-theme"; import { applyChallenges } from "#utils/challenge-utils"; import { BooleanHolder, getLocalizedSpriteKey, randInt } from "#utils/common"; -import { toTitleCase } from "#utils/strings"; +import { toCamelCase, toTitleCase } from "#utils/strings"; import i18next from "i18next"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; +const DISCARD_BUTTON_X = 60; +const DISCARD_BUTTON_X_DOUBLES = 64; +const DISCARD_BUTTON_Y = -73; +const DISCARD_BUTTON_Y_DOUBLES = -58; + const defaultMessage = i18next.t("partyUiHandler:choosePokemon"); /** @@ -301,7 +306,7 @@ export class PartyUiHandler extends MessageUiHandler { const partyMessageText = addTextObject(10, 8, defaultMessage, TextStyle.WINDOW, { maxLines: 2 }); partyMessageText.setName("text-party-msg"); - partyMessageText.setOrigin(0, 0); + partyMessageText.setOrigin(0); partyMessageBoxContainer.add(partyMessageText); this.message = partyMessageText; @@ -317,10 +322,8 @@ export class PartyUiHandler extends MessageUiHandler { this.iconAnimHandler = new PokemonIconAnimHandler(); this.iconAnimHandler.setup(); - const partyDiscardModeButton = new PartyDiscardModeButton(60, -globalScene.game.canvas.height / 15 - 1, this); - + const partyDiscardModeButton = new PartyDiscardModeButton(DISCARD_BUTTON_X, DISCARD_BUTTON_Y, this); partyContainer.add(partyDiscardModeButton); - this.partyDiscardModeButton = partyDiscardModeButton; // prepare move overlay @@ -1233,7 +1236,7 @@ export class PartyUiHandler extends MessageUiHandler { } if (!this.optionsCursorObj) { this.optionsCursorObj = globalScene.add.image(0, 0, "cursor"); - this.optionsCursorObj.setOrigin(0, 0); + this.optionsCursorObj.setOrigin(0); this.optionsContainer.add(this.optionsCursorObj); } this.optionsCursorObj.setPosition( @@ -1570,12 +1573,12 @@ export class PartyUiHandler extends MessageUiHandler { const formChangeItemModifiers = this.getFormChangeItemsModifiers(pokemon); if (formChangeItemModifiers && option >= PartyOption.FORM_CHANGE_ITEM) { const modifier = formChangeItemModifiers[option - PartyOption.FORM_CHANGE_ITEM]; - optionName = `${modifier.active ? i18next.t("partyUiHandler:DEACTIVATE") : i18next.t("partyUiHandler:ACTIVATE")} ${modifier.type.name}`; + optionName = `${modifier.active ? i18next.t("partyUiHandler:deactivate") : i18next.t("partyUiHandler:activate")} ${modifier.type.name}`; } else if (option === PartyOption.UNPAUSE_EVOLUTION) { - optionName = `${pokemon.pauseEvolutions ? i18next.t("partyUiHandler:UNPAUSE_EVOLUTION") : i18next.t("partyUiHandler:PAUSE_EVOLUTION")}`; + optionName = `${pokemon.pauseEvolutions ? i18next.t("partyUiHandler:unpausedEvolution") : i18next.t("partyUiHandler:pauseEvolution")}`; } else { if (this.localizedOptions.includes(option)) { - optionName = i18next.t(`partyUiHandler:${PartyOption[option]}`); + optionName = i18next.t(`partyUiHandler:${toCamelCase(PartyOption[option])}`); } else { optionName = toTitleCase(PartyOption[option]); } @@ -1592,7 +1595,7 @@ export class PartyUiHandler extends MessageUiHandler { .getLevelMoves() .find(plm => plm[1] === move); } else if (option === PartyOption.ALL) { - optionName = i18next.t("partyUiHandler:ALL"); + optionName = i18next.t("partyUiHandler:all"); } else { const itemModifiers = this.getItemModifiers(pokemon); const itemModifier = itemModifiers[option]; @@ -1605,7 +1608,7 @@ export class PartyUiHandler extends MessageUiHandler { optionText.setColor("#40c8f8"); optionText.setShadowColor("#006090"); } - optionText.setOrigin(0, 0); + optionText.setOrigin(0); /** For every item that has stack bigger than 1, display the current quantity selection */ const itemModifiers = this.getItemModifiers(pokemon); @@ -1802,6 +1805,7 @@ class PartySlot extends Phaser.GameObjects.Container { private selected: boolean; private transfer: boolean; private slotIndex: number; + private isBenched: boolean; private pokemon: PlayerPokemon; private slotBg: Phaser.GameObjects.Image; @@ -1812,6 +1816,7 @@ class PartySlot extends Phaser.GameObjects.Container { public slotHpText: Phaser.GameObjects.Text; public slotDescriptionLabel: Phaser.GameObjects.Text; // this is used to show text instead of the HP bar i.e. for showing "Able"/"Not Able" for TMs when you try to learn them + private slotBgKey: string; private pokemonIcon: Phaser.GameObjects.Container; private iconAnimHandler: PokemonIconAnimHandler; @@ -1822,19 +1827,34 @@ class PartySlot extends Phaser.GameObjects.Container { partyUiMode: PartyUiMode, tmMoveId: MoveId, ) { - super( - globalScene, - slotIndex >= globalScene.currentBattle.getBattlerCount() ? 230.5 : 64, - slotIndex >= globalScene.currentBattle.getBattlerCount() - ? -184 + - (globalScene.currentBattle.double ? -40 : 0) + - (28 + (globalScene.currentBattle.double ? 8 : 0)) * slotIndex - : partyUiMode === PartyUiMode.MODIFIER_TRANSFER - ? -124 + (globalScene.currentBattle.double ? -20 : 0) + slotIndex * 55 - : -124 + (globalScene.currentBattle.double ? -8 : 0) + slotIndex * 64, - ); + const isBenched = slotIndex >= globalScene.currentBattle.getBattlerCount(); + const isDoubleBattle = globalScene.currentBattle.double; + const isItemManageMode = partyUiMode === PartyUiMode.MODIFIER_TRANSFER || partyUiMode === PartyUiMode.DISCARD; + + /* + * Here we determine the position of the slot. + * The x coordinate depends on whether the pokemon is on the field or in the bench. + * The y coordinate depends on various factors, such as the number of pokémon on the field, + * and whether the transfer/discard button is also on the screen. + */ + const slotPositionX = isBenched ? 143 : 9; + + let slotPositionY: number; + if (isBenched) { + slotPositionY = -196 + (isDoubleBattle ? -40 : 0); + slotPositionY += (28 + (isDoubleBattle ? 8 : 0)) * slotIndex; + } else { + slotPositionY = -148.5; + if (isDoubleBattle) { + slotPositionY += isItemManageMode ? -20 : -8; + } + slotPositionY += (isItemManageMode ? (isDoubleBattle ? 47 : 55) : 64) * slotIndex; + } + + super(globalScene, slotPositionX, slotPositionY); this.slotIndex = slotIndex; + this.isBenched = isBenched; this.pokemon = pokemon; this.iconAnimHandler = iconAnimHandler; @@ -1848,27 +1868,75 @@ class PartySlot extends Phaser.GameObjects.Container { setup(partyUiMode: PartyUiMode, tmMoveId: MoveId) { const currentLanguage = i18next.resolvedLanguage ?? "en"; const offsetJa = currentLanguage === "ja"; + const isItemManageMode = partyUiMode === PartyUiMode.MODIFIER_TRANSFER || partyUiMode === PartyUiMode.DISCARD; - const battlerCount = globalScene.currentBattle.getBattlerCount(); + this.slotBgKey = this.isBenched + ? "party_slot" + : isItemManageMode && globalScene.currentBattle.double + ? "party_slot_main_short" + : "party_slot_main"; + const fullSlotBgKey = this.pokemon.hp ? this.slotBgKey : `${this.slotBgKey}${"_fnt"}`; + this.slotBg = globalScene.add.sprite(0, 0, this.slotBgKey, fullSlotBgKey); + this.slotBg.setOrigin(0); + this.add(this.slotBg); - const slotKey = `party_slot${this.slotIndex >= battlerCount ? "" : "_main"}`; + const genderSymbol = getGenderSymbol(this.pokemon.getGender(true)); + const isFusion = this.pokemon.isFusion(); - const slotBg = globalScene.add.sprite(0, 0, slotKey, `${slotKey}${this.pokemon.hp ? "" : "_fnt"}`); - this.slotBg = slotBg; + // Here we define positions and offsets + // Base values are for the active pokemon; they are changed for benched pokemon, + // or for active pokemon if in a double battle in item management mode. - this.add(slotBg); + // icon position relative to slot background + let slotPb = { x: 4, y: 4 }; + // name position relative to slot background + let namePosition = { x: 24, y: 10 + (offsetJa ? 2 : 0) }; + // maximum allowed length of name; must accomodate fusion symbol + let maxNameTextWidth = 76 - (isFusion ? 8 : 0); + // "Lv." label position relative to slot background + let levelLabelPosition = { x: 24 + 8, y: 10 + 12 }; + // offset from "Lv." to the level number; should not be changed. + const levelTextToLevelLabelOffset = { x: 9, y: offsetJa ? 1.5 : 0 }; + // offests from "Lv." to gender, spliced and status icons, these depend on the type of slot. + let genderTextToLevelLabelOffset = { x: 68 - (isFusion ? 8 : 0), y: -9 }; + let splicedIconToLevelLabelOffset = { x: 68, y: 3.5 - 12 }; + let statusIconToLevelLabelOffset = { x: 55, y: 0 }; + // offset from the name to the shiny icon (on the left); should not be changed. + const shinyIconToNameOffset = { x: -9, y: 3 }; + // hp bar position relative to slot background + let hpBarPosition = { x: 8, y: 31 }; + // offsets of hp bar overlay (showing the remaining hp) and number; should not be changed. + const hpOverlayToBarOffset = { x: 16, y: 2 }; + const hpTextToBarOffset = { x: -3, y: -2 + (offsetJa ? 2 : 0) }; + // description position relative to slot background + let descriptionLabelPosition = { x: 32, y: 46 }; - const slotPb = globalScene.add.sprite( - this.slotIndex >= battlerCount ? -85.5 : -51, - this.slotIndex >= battlerCount ? 0 : -20.5, - "party_pb", - ); - this.slotPb = slotPb; + // If in item management mode, the active slots are shorter + if (isItemManageMode && globalScene.currentBattle.double && !this.isBenched) { + namePosition.y -= 8; + levelLabelPosition.y -= 8; + hpBarPosition.y -= 8; + descriptionLabelPosition.y -= 8; + } - this.add(slotPb); + // Benched slots have significantly different parameters + if (this.isBenched) { + slotPb = { x: 2, y: 12 }; + namePosition = { x: 21, y: 2 + (offsetJa ? 2 : 0) }; + maxNameTextWidth = 52; + levelLabelPosition = { x: 21 + 8, y: 2 + 12 }; + genderTextToLevelLabelOffset = { x: 36, y: 0 }; + splicedIconToLevelLabelOffset = { x: 36 + (genderSymbol ? 8 : 0), y: 0.5 }; + statusIconToLevelLabelOffset = { x: 43, y: 0 }; + hpBarPosition = { x: 72, y: 6 }; + descriptionLabelPosition = { x: 94, y: 16 }; + } - this.pokemonIcon = globalScene.addPokemonIcon(this.pokemon, slotPb.x, slotPb.y, 0.5, 0.5, true); + this.slotPb = globalScene.add.sprite(0, 0, "party_pb"); + this.slotPb.setPosition(slotPb.x, slotPb.y); + this.add(this.slotPb); + this.pokemonIcon = globalScene.addPokemonIcon(this.pokemon, this.slotPb.x, this.slotPb.y, 0.5, 0.5, true); this.add(this.pokemonIcon); this.iconAnimHandler.addOrUpdate(this.pokemonIcon, PokemonIconAnimMode.PASSIVE); @@ -1882,7 +1950,7 @@ class PartySlot extends Phaser.GameObjects.Container { const nameSizeTest = addTextObject(0, 0, displayName, TextStyle.PARTY); nameTextWidth = nameSizeTest.displayWidth; - while (nameTextWidth > (this.slotIndex >= battlerCount ? 52 : 76 - (this.pokemon.fusionSpecies ? 8 : 0))) { + while (nameTextWidth > maxNameTextWidth) { displayName = `${displayName.slice(0, displayName.endsWith(".") ? -2 : -1).trimEnd()}.`; nameSizeTest.setText(displayName); nameTextWidth = nameSizeTest.displayWidth; @@ -1891,78 +1959,59 @@ class PartySlot extends Phaser.GameObjects.Container { nameSizeTest.destroy(); this.slotName = addTextObject(0, 0, displayName, TextStyle.PARTY); - this.slotName.setPositionRelative( - slotBg, - this.slotIndex >= battlerCount ? 21 : 24, - (this.slotIndex >= battlerCount ? 2 : 10) + (offsetJa ? 2 : 0), - ); - this.slotName.setOrigin(0, 0); + this.slotName.setPositionRelative(this.slotBg, namePosition.x, namePosition.y); + this.slotName.setOrigin(0); - const slotLevelLabel = globalScene.add.image(0, 0, "party_slot_overlay_lv"); - slotLevelLabel.setPositionRelative( - slotBg, - (this.slotIndex >= battlerCount ? 21 : 24) + 8, - (this.slotIndex >= battlerCount ? 2 : 10) + 12, - ); - slotLevelLabel.setOrigin(0, 0); + const slotLevelLabel = globalScene.add + .image(0, 0, "party_slot_overlay_lv") + .setPositionRelative(this.slotBg, levelLabelPosition.x, levelLabelPosition.y) + .setOrigin(0); const slotLevelText = addTextObject( 0, 0, this.pokemon.level.toString(), this.pokemon.level < globalScene.getMaxExpLevel() ? TextStyle.PARTY : TextStyle.PARTY_RED, - ); - slotLevelText.setPositionRelative(slotLevelLabel, 9, offsetJa ? 1.5 : 0); - slotLevelText.setOrigin(0, 0.25); - + ) + .setPositionRelative(slotLevelLabel, levelTextToLevelLabelOffset.x, levelTextToLevelLabelOffset.y) + .setOrigin(0, 0.25); slotInfoContainer.add([this.slotName, slotLevelLabel, slotLevelText]); - const genderSymbol = getGenderSymbol(this.pokemon.getGender(true)); - if (genderSymbol) { - const slotGenderText = addTextObject(0, 0, genderSymbol, TextStyle.PARTY); - slotGenderText.setColor(getGenderColor(this.pokemon.getGender(true))); - slotGenderText.setShadowColor(getGenderColor(this.pokemon.getGender(true), true)); - if (this.slotIndex >= battlerCount) { - slotGenderText.setPositionRelative(slotLevelLabel, 36, 0); - } else { - slotGenderText.setPositionRelative(this.slotName, 76 - (this.pokemon.fusionSpecies ? 8 : 0), 3); - } - slotGenderText.setOrigin(0, 0.25); - + const slotGenderText = addTextObject(0, 0, genderSymbol, TextStyle.PARTY) + .setColor(getGenderColor(this.pokemon.getGender(true))) + .setShadowColor(getGenderColor(this.pokemon.getGender(true), true)) + .setPositionRelative(slotLevelLabel, genderTextToLevelLabelOffset.x, genderTextToLevelLabelOffset.y) + .setOrigin(0, 0.25); slotInfoContainer.add(slotGenderText); } - if (this.pokemon.fusionSpecies) { - const splicedIcon = globalScene.add.image(0, 0, "icon_spliced"); - splicedIcon.setScale(0.5); - splicedIcon.setOrigin(0, 0); - if (this.slotIndex >= battlerCount) { - splicedIcon.setPositionRelative(slotLevelLabel, 36 + (genderSymbol ? 8 : 0), 0.5); - } else { - splicedIcon.setPositionRelative(this.slotName, 76, 3.5); - } - + if (isFusion) { + const splicedIcon = globalScene.add + .image(0, 0, "icon_spliced") + .setScale(0.5) + .setOrigin(0) + .setPositionRelative(slotLevelLabel, splicedIconToLevelLabelOffset.x, splicedIconToLevelLabelOffset.y); slotInfoContainer.add(splicedIcon); } if (this.pokemon.status) { - const statusIndicator = globalScene.add.sprite(0, 0, getLocalizedSpriteKey("statuses")); - statusIndicator.setFrame(StatusEffect[this.pokemon.status?.effect].toLowerCase()); - statusIndicator.setOrigin(0, 0); - statusIndicator.setPositionRelative(slotLevelLabel, this.slotIndex >= battlerCount ? 43 : 55, 0); - + const statusIndicator = globalScene.add + .sprite(0, 0, getLocalizedSpriteKey("statuses")) + .setFrame(StatusEffect[this.pokemon.status?.effect].toLowerCase()) + .setOrigin(0) + .setPositionRelative(slotLevelLabel, statusIconToLevelLabelOffset.x, statusIconToLevelLabelOffset.y); slotInfoContainer.add(statusIndicator); } if (this.pokemon.isShiny()) { const doubleShiny = this.pokemon.isDoubleShiny(false); - const shinyStar = globalScene.add.image(0, 0, `shiny_star_small${doubleShiny ? "_1" : ""}`); - shinyStar.setOrigin(0, 0); - shinyStar.setPositionRelative(this.slotName, -9, 3); - shinyStar.setTint(getVariantTint(this.pokemon.getBaseVariant())); - + const shinyStar = globalScene.add + .image(0, 0, `shiny_star_small${doubleShiny ? "_1" : ""}`) + .setOrigin(0) + .setPositionRelative(this.slotName, shinyIconToNameOffset.x, shinyIconToNameOffset.y) + .setTint(getVariantTint(this.pokemon.getBaseVariant())); slotInfoContainer.add(shinyStar); if (doubleShiny) { @@ -1971,50 +2020,38 @@ class PartySlot extends Phaser.GameObjects.Container { .setOrigin(0) .setPosition(shinyStar.x, shinyStar.y) .setTint(getVariantTint(this.pokemon.fusionVariant)); - slotInfoContainer.add(fusionShinyStar); } } - this.slotHpBar = globalScene.add.image(0, 0, "party_slot_hp_bar"); - this.slotHpBar.setPositionRelative( - slotBg, - this.slotIndex >= battlerCount ? 72 : 8, - this.slotIndex >= battlerCount ? 6 : 31, - ); - this.slotHpBar.setOrigin(0, 0); - this.slotHpBar.setVisible(false); + this.slotHpBar = globalScene.add + .image(0, 0, "party_slot_hp_bar") + .setOrigin(0) + .setVisible(false) + .setPositionRelative(this.slotBg, hpBarPosition.x, hpBarPosition.y); const hpRatio = this.pokemon.getHpRatio(); - this.slotHpOverlay = globalScene.add.sprite( - 0, - 0, - "party_slot_hp_overlay", - hpRatio > 0.5 ? "high" : hpRatio > 0.25 ? "medium" : "low", - ); - this.slotHpOverlay.setPositionRelative(this.slotHpBar, 16, 2); - this.slotHpOverlay.setOrigin(0, 0); - this.slotHpOverlay.setScale(hpRatio, 1); - this.slotHpOverlay.setVisible(false); + this.slotHpOverlay = globalScene.add + .sprite(0, 0, "party_slot_hp_overlay", hpRatio > 0.5 ? "high" : hpRatio > 0.25 ? "medium" : "low") + .setOrigin(0) + .setPositionRelative(this.slotHpBar, hpOverlayToBarOffset.x, hpOverlayToBarOffset.y) + .setScale(hpRatio, 1) + .setVisible(false); - this.slotHpText = addTextObject(0, 0, `${this.pokemon.hp}/${this.pokemon.getMaxHp()}`, TextStyle.PARTY); - this.slotHpText.setPositionRelative( - this.slotHpBar, - this.slotHpBar.width - 3, - this.slotHpBar.height - 2 + (offsetJa ? 2 : 0), - ); - this.slotHpText.setOrigin(1, 0); - this.slotHpText.setVisible(false); + this.slotHpText = addTextObject(0, 0, `${this.pokemon.hp}/${this.pokemon.getMaxHp()}`, TextStyle.PARTY) + .setOrigin(1, 0) + .setPositionRelative( + this.slotHpBar, + this.slotHpBar.width + hpTextToBarOffset.x, + this.slotHpBar.height + hpTextToBarOffset.y, + ) // TODO: annoying because it contains the width + .setVisible(false); - this.slotDescriptionLabel = addTextObject(0, 0, "", TextStyle.MESSAGE); - this.slotDescriptionLabel.setPositionRelative( - slotBg, - this.slotIndex >= battlerCount ? 94 : 32, - this.slotIndex >= battlerCount ? 16 : 46, - ); - this.slotDescriptionLabel.setOrigin(0, 1); - this.slotDescriptionLabel.setVisible(false); + this.slotDescriptionLabel = addTextObject(0, 0, "", TextStyle.MESSAGE) + .setOrigin(0, 1) + .setVisible(false) + .setPositionRelative(this.slotBg, descriptionLabelPosition.x, descriptionLabelPosition.y); slotInfoContainer.add([this.slotHpBar, this.slotHpOverlay, this.slotHpText, this.slotDescriptionLabel]); @@ -2076,10 +2113,9 @@ class PartySlot extends Phaser.GameObjects.Container { } private updateSlotTexture(): void { - const battlerCount = globalScene.currentBattle.getBattlerCount(); this.slotBg.setTexture( - `party_slot${this.slotIndex >= battlerCount ? "" : "_main"}`, - `party_slot${this.slotIndex >= battlerCount ? "" : "_main"}${this.transfer ? "_swap" : this.pokemon.hp ? "" : "_fnt"}${this.selected ? "_sel" : ""}`, + this.slotBgKey, + `${this.slotBgKey}${this.transfer ? "_swap" : this.pokemon.hp ? "" : "_fnt"}${this.selected ? "_sel" : ""}`, ); } } @@ -2106,7 +2142,12 @@ class PartyCancelButton extends Phaser.GameObjects.Container { this.partyCancelPb = partyCancelPb; - const partyCancelText = addTextObject(-10, -7, i18next.t("partyUiHandler:cancel"), TextStyle.PARTY_CANCEL_BUTTON); + const partyCancelText = addTextObject( + -10, + -7, + i18next.t("partyUiHandler:cancelButton"), + TextStyle.PARTY_CANCEL_BUTTON, + ); this.add(partyCancelText); } @@ -2149,7 +2190,7 @@ class PartyDiscardModeButton extends Phaser.GameObjects.Container { setup(party: PartyUiHandler) { this.transferIcon = globalScene.add.sprite(0, 0, "party_transfer"); this.discardIcon = globalScene.add.sprite(0, 0, "party_discard"); - this.textBox = addTextObject(-8, -7, i18next.t("partyUiHandler:TRANSFER"), TextStyle.PARTY); + this.textBox = addTextObject(-8, -7, i18next.t("partyUiHandler:transfer"), TextStyle.PARTY); this.party = party; this.add(this.transferIcon); @@ -2197,25 +2238,21 @@ class PartyDiscardModeButton extends Phaser.GameObjects.Container { this.transferIcon.setVisible(true); this.discardIcon.setVisible(false); this.textBox.setVisible(true); - this.textBox.setText(i18next.t("partyUiHandler:TRANSFER")); - this.setPosition( - globalScene.currentBattle.double ? 64 : 60, - globalScene.currentBattle.double ? -48 : -globalScene.game.canvas.height / 15 - 1, - ); + this.textBox.setText(i18next.t("partyUiHandler:transfer")); this.transferIcon.displayWidth = this.textBox.text.length * 9 + 3; break; case PartyUiMode.DISCARD: this.transferIcon.setVisible(false); this.discardIcon.setVisible(true); this.textBox.setVisible(true); - this.textBox.setText(i18next.t("partyUiHandler:DISCARD")); - this.setPosition( - globalScene.currentBattle.double ? 64 : 60, - globalScene.currentBattle.double ? -48 : -globalScene.game.canvas.height / 15 - 1, - ); + this.textBox.setText(i18next.t("partyUiHandler:discard")); this.discardIcon.displayWidth = this.textBox.text.length * 9 + 3; break; } + this.setPosition( + globalScene.currentBattle.double ? DISCARD_BUTTON_X_DOUBLES : DISCARD_BUTTON_X, + globalScene.currentBattle.double ? DISCARD_BUTTON_Y_DOUBLES : DISCARD_BUTTON_Y, + ); } clear() { diff --git a/src/ui/pokedex-mon-container.ts b/src/ui/pokedex-mon-container.ts index bc262946394..68710813fcb 100644 --- a/src/ui/pokedex-mon-container.ts +++ b/src/ui/pokedex-mon-container.ts @@ -208,6 +208,26 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container { ); this.checkIconId(defaultProps.female, defaultProps.formIndex, defaultProps.shiny, defaultProps.variant); this.add(this.icon); + + [ + this.hiddenAbilityIcon, + this.favoriteIcon, + this.classicWinIcon, + this.candyUpgradeIcon, + this.candyUpgradeOverlayIcon, + this.eggMove1Icon, + this.tmMove1Icon, + this.eggMove2Icon, + this.tmMove2Icon, + this.passive1Icon, + this.passive2Icon, + this.passive1OverlayIcon, + this.passive2OverlayIcon, + ].forEach(icon => { + if (icon) { + this.bringToTop(icon); + } + }); } checkIconId(female, formIndex, shiny, variant) { diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 49658d9cfc9..ae89a85c402 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -57,7 +57,7 @@ import { addWindow } from "#ui/ui-theme"; import { BooleanHolder, getLocalizedSpriteKey, isNullOrUndefined, padInt, rgbHexToRgba } from "#utils/common"; import { getEnumValues } from "#utils/enums"; import { getPokemonSpecies, getPokemonSpeciesForm } from "#utils/pokemon-utils"; -import { toTitleCase } from "#utils/strings"; +import { toCamelCase, toTitleCase } from "#utils/strings"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; import type BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText"; @@ -1517,13 +1517,13 @@ export class PokedexPageUiHandler extends MessageUiHandler { this.biomes.map(b => { options.push({ label: - i18next.t(`biome:${BiomeId[b.biome].toUpperCase()}`) + + i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`) + " - " + - i18next.t(`biome:${BiomePoolTier[b.tier].toUpperCase()}`) + + i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`) + (b.tod.length === 1 && b.tod[0] === -1 ? "" : " (" + - b.tod.map(tod => i18next.t(`biome:${TimeOfDay[tod].toUpperCase()}`)).join(", ") + + b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ") + ")"), handler: () => false, }); @@ -1538,13 +1538,13 @@ export class PokedexPageUiHandler extends MessageUiHandler { this.preBiomes.map(b => { options.push({ label: - i18next.t(`biome:${BiomeId[b.biome].toUpperCase()}`) + + i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`) + " - " + - i18next.t(`biome:${BiomePoolTier[b.tier].toUpperCase()}`) + + i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`) + (b.tod.length === 1 && b.tod[0] === -1 ? "" : " (" + - b.tod.map(tod => i18next.t(`biome:${TimeOfDay[tod].toUpperCase()}`)).join(", ") + + b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ") + ")"), handler: () => false, }); @@ -2612,7 +2612,7 @@ export class PokedexPageUiHandler extends MessageUiHandler { // Setting growth rate text if (isFormCaught) { let growthReadable = toTitleCase(GrowthRate[species.growthRate]); - const growthAux = growthReadable.replace(" ", "_"); + const growthAux = toCamelCase(growthReadable); if (i18next.exists("growth:" + growthAux)) { growthReadable = i18next.t(("growth:" + growthAux) as any); } diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index aa2a5cda459..034f4f8e615 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -47,6 +47,7 @@ import { BooleanHolder, fixedInt, getLocalizedSpriteKey, padInt, randIntRange, r import type { StarterPreferences } from "#utils/data"; import { loadStarterPreferences } from "#utils/data"; import { getPokemonSpeciesForm, getPokerusStarters } from "#utils/pokemon-utils"; +import { toCamelCase } from "#utils/strings"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; @@ -324,7 +325,7 @@ export class PokedexUiHandler extends MessageUiHandler { .filter(value => typeof value === "number") // Filter numeric values from the enum .map( (biomeValue, index) => - new DropDownOption(index, new DropDownLabel(i18next.t(`biome:${BiomeId[biomeValue].toUpperCase()}`))), + new DropDownOption(index, new DropDownLabel(i18next.t(`biome:${toCamelCase(BiomeId[biomeValue])}`))), ); biomeOptions.push(new DropDownOption(biomeOptions.length, new DropDownLabel(i18next.t("filterBar:uncatchable")))); const biomeDropDown: DropDown = new DropDown(0, 0, biomeOptions, this.updateStarters, DropDownType.HYBRID); @@ -410,6 +411,11 @@ export class PokedexUiHandler extends MessageUiHandler { new DropDownLabel(i18next.t("filterBar:hasHiddenAbility"), undefined, DropDownState.ON), new DropDownLabel(i18next.t("filterBar:noHiddenAbility"), undefined, DropDownState.EXCLUDE), ]; + const seenSpeciesLabels = [ + new DropDownLabel(i18next.t("filterBar:seenSpecies"), undefined, DropDownState.OFF), + new DropDownLabel(i18next.t("filterBar:isSeen"), undefined, DropDownState.ON), + new DropDownLabel(i18next.t("filterBar:isUnseen"), undefined, DropDownState.EXCLUDE), + ]; const eggLabels = [ new DropDownLabel(i18next.t("filterBar:egg"), undefined, DropDownState.OFF), new DropDownLabel(i18next.t("filterBar:eggPurchasable"), undefined, DropDownState.ON), @@ -423,6 +429,7 @@ export class PokedexUiHandler extends MessageUiHandler { new DropDownOption("FAVORITE", favoriteLabels), new DropDownOption("WIN", winLabels), new DropDownOption("HIDDEN_ABILITY", hiddenAbilityLabels), + new DropDownOption("SEEN_SPECIES", seenSpeciesLabels), new DropDownOption("EGG", eggLabels), new DropDownOption("POKERUS", pokerusLabels), ]; @@ -792,13 +799,15 @@ export class PokedexUiHandler extends MessageUiHandler { this.starterSelectMessageBoxContainer.setVisible(!!text?.length); } - isSeen(species: PokemonSpecies, dexEntry: DexEntry): boolean { + isSeen(species: PokemonSpecies, dexEntry: DexEntry, seenFilter?: boolean): boolean { if (dexEntry?.seenAttr) { return true; } - - const starterDexEntry = globalScene.gameData.dexData[this.getStarterSpeciesId(species.speciesId)]; - return !!starterDexEntry?.caughtAttr; + if (!seenFilter) { + const starterDexEntry = globalScene.gameData.dexData[this.getStarterSpeciesId(species.speciesId)]; + return !!starterDexEntry?.caughtAttr; + } + return false; } /** @@ -1617,6 +1626,21 @@ export class PokedexUiHandler extends MessageUiHandler { } }); + // Seen Filter + const dexEntry = globalScene.gameData.dexData[species.speciesId]; + const isItSeen = this.isSeen(species, dexEntry, true); + const fitsSeen = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { + if (misc.val === "SEEN_SPECIES" && misc.state === DropDownState.ON) { + return isItSeen; + } + if (misc.val === "SEEN_SPECIES" && misc.state === DropDownState.EXCLUDE) { + return !isItSeen; + } + if (misc.val === "SEEN_SPECIES" && misc.state === DropDownState.OFF) { + return true; + } + }); + // Egg Purchasable Filter const isEggPurchasable = this.isSameSpeciesEggAvailable(species.speciesId); const fitsEgg = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { @@ -1658,6 +1682,7 @@ export class PokedexUiHandler extends MessageUiHandler { fitsFavorite && fitsWin && fitsHA && + fitsSeen && fitsEgg && fitsPokerus ) { diff --git a/src/ui/rename-run-ui-handler.ts b/src/ui/rename-run-ui-handler.ts new file mode 100644 index 00000000000..23ba0137f2d --- /dev/null +++ b/src/ui/rename-run-ui-handler.ts @@ -0,0 +1,54 @@ +import i18next from "i18next"; +import type { InputFieldConfig } from "./form-modal-ui-handler"; +import { FormModalUiHandler } from "./form-modal-ui-handler"; +import type { ModalConfig } from "./modal-ui-handler"; + +export class RenameRunFormUiHandler extends FormModalUiHandler { + getModalTitle(_config?: ModalConfig): string { + return i18next.t("menu:renamerun"); + } + + getWidth(_config?: ModalConfig): number { + return 160; + } + + getMargin(_config?: ModalConfig): [number, number, number, number] { + return [0, 0, 48, 0]; + } + + getButtonLabels(_config?: ModalConfig): string[] { + return [i18next.t("menu:rename"), i18next.t("menu:cancel")]; + } + + getReadableErrorMessage(error: string): string { + const colonIndex = error?.indexOf(":"); + if (colonIndex > 0) { + error = error.slice(0, colonIndex); + } + + return super.getReadableErrorMessage(error); + } + + override getInputFieldConfigs(): InputFieldConfig[] { + return [{ label: i18next.t("menu:runName") }]; + } + + show(args: any[]): boolean { + if (!super.show(args)) { + return false; + } + if (this.inputs?.length) { + this.inputs.forEach(input => { + input.text = ""; + }); + } + const config = args[0] as ModalConfig; + this.submitAction = _ => { + this.sanitizeInputs(); + const sanitizedName = btoa(encodeURIComponent(this.inputs[0].text)); + config.buttonActions[0](sanitizedName); + return true; + }; + return true; + } +} diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index 2def302c1d5..a5e21a3a0a1 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -26,6 +26,7 @@ import { addBBCodeTextObject, addTextObject, getTextColor } from "#ui/text"; import { UiHandler } from "#ui/ui-handler"; import { addWindow } from "#ui/ui-theme"; import { formatFancyLargeNumber, formatLargeNumber, formatMoney, getPlayTimeString } from "#utils/common"; +import { toCamelCase } from "#utils/strings"; import i18next from "i18next"; import RoundRectangle from "phaser3-rex-plugins/plugins/roundrectangle"; @@ -207,6 +208,11 @@ export class RunInfoUiHandler extends UiHandler { headerText.setOrigin(0, 0); headerText.setPositionRelative(headerBg, 8, 4); this.runContainer.add(headerText); + const runName = addTextObject(0, 0, this.runInfo.name, TextStyle.WINDOW); + runName.setOrigin(0, 0); + const runNameX = headerText.width / 6 + headerText.x + 4; + runName.setPositionRelative(headerBg, runNameX, 4); + this.runContainer.add(runName); } /** @@ -694,7 +700,11 @@ export class RunInfoUiHandler extends UiHandler { const typeTextColor = `[color=${TypeColor[typeRule]}]`; const typeShadowColor = `[shadow=${TypeShadow[typeRule]}]`; const typeText = - typeTextColor + typeShadowColor + i18next.t(`pokemonInfo:Type.${typeRule}`)! + "[/color]" + "[/shadow]"; + typeTextColor + + typeShadowColor + + i18next.t(`pokemonInfo:type.${toCamelCase(typeRule)}`)! + + "[/color]" + + "[/shadow]"; rules.push(typeText); break; } @@ -702,10 +712,7 @@ export class RunInfoUiHandler extends UiHandler { rules.push(i18next.t("challenges:inverseBattle.shortName")); break; default: { - const localizationKey = Challenges[this.runInfo.challenges[i].id] - .split("_") - .map((f, i) => (i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase())) - .join(""); + const localizationKey = toCamelCase(Challenges[this.runInfo.challenges[i].id]); rules.push(i18next.t(`challenges:${localizationKey}.name`)); break; } @@ -791,15 +798,15 @@ export class RunInfoUiHandler extends UiHandler { pStats[i] = isMult < 1 ? pStats[i] + "[color=#40c8f8]↓[/color]" : pStats[i]; pStats[i] = isMult > 1 ? pStats[i] + "[color=#f89890]↑[/color]" : pStats[i]; } - const hp = i18next.t("pokemonInfo:Stat.HPshortened") + ": " + pStats[0]; - const atk = i18next.t("pokemonInfo:Stat.ATKshortened") + ": " + pStats[1]; - const def = i18next.t("pokemonInfo:Stat.DEFshortened") + ": " + pStats[2]; - const spatk = i18next.t("pokemonInfo:Stat.SPATKshortened") + ": " + pStats[3]; - const spdef = i18next.t("pokemonInfo:Stat.SPDEFshortened") + ": " + pStats[4]; + const hp = i18next.t("pokemonInfo:stat.hpShortened") + ": " + pStats[0]; + const atk = i18next.t("pokemonInfo:stat.atkShortened") + ": " + pStats[1]; + const def = i18next.t("pokemonInfo:stat.defShortened") + ": " + pStats[2]; + const spatk = i18next.t("pokemonInfo:stat.spatkShortened") + ": " + pStats[3]; + const spdef = i18next.t("pokemonInfo:stat.spdefShortened") + ": " + pStats[4]; const speedLabel = currentLanguage === "es-ES" || currentLanguage === "pt_BR" ? i18next.t("runHistory:SPDshortened") - : i18next.t("pokemonInfo:Stat.SPDshortened"); + : i18next.t("pokemonInfo:stat.spdShortened"); const speed = speedLabel + ": " + pStats[5]; // Column 1: HP Atk Def const pokeStatText1 = addBBCodeTextObject(-5, 0, hp, TextStyle.SUMMARY, { diff --git a/src/ui/save-slot-select-ui-handler.ts b/src/ui/save-slot-select-ui-handler.ts index 9c2f8488b22..e9f9c5a0038 100644 --- a/src/ui/save-slot-select-ui-handler.ts +++ b/src/ui/save-slot-select-ui-handler.ts @@ -1,12 +1,14 @@ import { GameMode } from "#app/game-mode"; import { globalScene } from "#app/global-scene"; import { Button } from "#enums/buttons"; +import { GameModes } from "#enums/game-modes"; import { TextStyle } from "#enums/text-style"; import { UiMode } from "#enums/ui-mode"; // biome-ignore lint/performance/noNamespaceImport: See `src/system/game-data.ts` import * as Modifier from "#modifiers/modifier"; import type { SessionSaveData } from "#system/game-data"; import type { PokemonData } from "#system/pokemon-data"; +import type { OptionSelectConfig } from "#ui/abstract-option-select-ui-handler"; import { MessageUiHandler } from "#ui/message-ui-handler"; import { RunDisplayMode } from "#ui/run-info-ui-handler"; import { addTextObject } from "#ui/text"; @@ -15,7 +17,7 @@ import { fixedInt, formatLargeNumber, getPlayTimeString, isNullOrUndefined } fro import i18next from "i18next"; const SESSION_SLOTS_COUNT = 5; -const SLOTS_ON_SCREEN = 3; +const SLOTS_ON_SCREEN = 2; export enum SaveSlotUiMode { LOAD, @@ -33,6 +35,7 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { private uiMode: SaveSlotUiMode; private saveSlotSelectCallback: SaveSlotSelectCallback | null; + protected manageDataConfig: OptionSelectConfig; private scrollCursor = 0; @@ -101,6 +104,7 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { processInput(button: Button): boolean { const ui = this.getUi(); + const manageDataOptions: any[] = []; let success = false; let error = false; @@ -109,14 +113,115 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { const originalCallback = this.saveSlotSelectCallback; if (button === Button.ACTION) { const cursor = this.cursor + this.scrollCursor; - if (this.uiMode === SaveSlotUiMode.LOAD && !this.sessionSlots[cursor].hasData) { + const sessionSlot = this.sessionSlots[cursor]; + if (this.uiMode === SaveSlotUiMode.LOAD && !sessionSlot.hasData) { error = true; } else { switch (this.uiMode) { case SaveSlotUiMode.LOAD: - this.saveSlotSelectCallback = null; - originalCallback?.(cursor); + if (!sessionSlot.malformed) { + manageDataOptions.push({ + label: i18next.t("menu:loadGame"), + handler: () => { + globalScene.ui.revertMode(); + originalCallback?.(cursor); + return true; + }, + keepOpen: false, + }); + + manageDataOptions.push({ + label: i18next.t("saveSlotSelectUiHandler:renameRun"), + handler: () => { + globalScene.ui.revertMode(); + ui.setOverlayMode( + UiMode.RENAME_RUN, + { + buttonActions: [ + (sanitizedName: string) => { + const name = decodeURIComponent(atob(sanitizedName)); + globalScene.gameData.renameSession(cursor, name).then(response => { + if (response[0] === false) { + globalScene.reset(true); + } else { + this.clearSessionSlots(); + this.cursorObj = null; + this.populateSessionSlots(); + this.setScrollCursor(0); + this.setCursor(0); + ui.revertMode(); + ui.showText("", 0); + } + }); + }, + () => { + ui.revertMode(); + }, + ], + }, + "", + ); + return true; + }, + }); + } + + this.manageDataConfig = { + xOffset: 0, + yOffset: 48, + options: manageDataOptions, + maxOptions: 4, + }; + + manageDataOptions.push({ + label: i18next.t("saveSlotSelectUiHandler:deleteRun"), + handler: () => { + globalScene.ui.revertMode(); + ui.showText(i18next.t("saveSlotSelectUiHandler:deleteData"), null, () => { + ui.setOverlayMode( + UiMode.CONFIRM, + () => { + globalScene.gameData.tryClearSession(cursor).then(response => { + if (response[0] === false) { + globalScene.reset(true); + } else { + this.clearSessionSlots(); + this.cursorObj = null; + this.populateSessionSlots(); + this.setScrollCursor(0); + this.setCursor(0); + ui.revertMode(); + ui.showText("", 0); + } + }); + }, + () => { + ui.revertMode(); + ui.showText("", 0); + }, + false, + 0, + 19, + import.meta.env.DEV ? 300 : 2000, + ); + }); + return true; + }, + keepOpen: false, + }); + + manageDataOptions.push({ + label: i18next.t("menuUiHandler:cancel"), + handler: () => { + globalScene.ui.revertMode(); + return true; + }, + keepOpen: true, + }); + + ui.setOverlayMode(UiMode.MENU_OPTION_SELECT, this.manageDataConfig); break; + case SaveSlotUiMode.SAVE: { const saveAndCallback = () => { const originalCallback = this.saveSlotSelectCallback; @@ -161,6 +266,7 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { } } else { this.saveSlotSelectCallback = null; + ui.showText("", 0); originalCallback?.(-1); success = true; } @@ -267,33 +373,34 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { this.cursorObj = globalScene.add.container(0, 0); const cursorBox = globalScene.add.nineslice( 0, - 0, + 15, "select_cursor_highlight_thick", undefined, - 296, - 44, + 294, + this.sessionSlots[prevSlotIndex ?? 0]?.saveData?.name ? 50 : 60, 6, 6, 6, 6, ); const rightArrow = globalScene.add.image(0, 0, "cursor"); - rightArrow.setPosition(160, 0); + rightArrow.setPosition(160, 15); rightArrow.setName("rightArrow"); this.cursorObj.add([cursorBox, rightArrow]); this.sessionSlotsContainer.add(this.cursorObj); } const cursorPosition = cursor + this.scrollCursor; - const cursorIncrement = cursorPosition * 56; + const cursorIncrement = cursorPosition * 76; if (this.sessionSlots[cursorPosition] && this.cursorObj) { - const hasData = this.sessionSlots[cursorPosition].hasData; + const session = this.sessionSlots[cursorPosition]; + const hasData = session.hasData && !session.malformed; // If the session slot lacks session data, it does not move from its default, central position. // Only session slots with session data will move leftwards and have a visible arrow. if (!hasData) { - this.cursorObj.setPosition(151, 26 + cursorIncrement); + this.cursorObj.setPosition(151, 20 + cursorIncrement); this.sessionSlots[cursorPosition].setPosition(0, cursorIncrement); } else { - this.cursorObj.setPosition(145, 26 + cursorIncrement); + this.cursorObj.setPosition(145, 20 + cursorIncrement); this.sessionSlots[cursorPosition].setPosition(-6, cursorIncrement); } this.setArrowVisibility(hasData); @@ -311,7 +418,8 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { revertSessionSlot(slotIndex: number): void { const sessionSlot = this.sessionSlots[slotIndex]; if (sessionSlot) { - sessionSlot.setPosition(0, slotIndex * 56); + const valueHeight = 76; + sessionSlot.setPosition(0, slotIndex * valueHeight); } } @@ -340,7 +448,7 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { this.setCursor(this.cursor, prevSlotIndex); globalScene.tweens.add({ targets: this.sessionSlotsContainer, - y: this.sessionSlotsContainerInitialY - 56 * scrollCursor, + y: this.sessionSlotsContainerInitialY - 76 * scrollCursor, duration: fixedInt(325), ease: "Sine.easeInOut", }); @@ -374,12 +482,14 @@ export class SaveSlotSelectUiHandler extends MessageUiHandler { class SessionSlot extends Phaser.GameObjects.Container { public slotId: number; public hasData: boolean; + /** Indicates the save slot ran into an error while being loaded */ + public malformed: boolean; + private slotWindow: Phaser.GameObjects.NineSlice; private loadingLabel: Phaser.GameObjects.Text; - public saveData: SessionSaveData; constructor(slotId: number) { - super(globalScene, 0, slotId * 56); + super(globalScene, 0, slotId * 76); this.slotId = slotId; @@ -387,32 +497,89 @@ class SessionSlot extends Phaser.GameObjects.Container { } setup() { - const slotWindow = addWindow(0, 0, 304, 52); - this.add(slotWindow); + this.slotWindow = addWindow(0, 0, 304, 70); + this.add(this.slotWindow); - this.loadingLabel = addTextObject(152, 26, i18next.t("saveSlotSelectUiHandler:loading"), TextStyle.WINDOW); + this.loadingLabel = addTextObject(152, 33, i18next.t("saveSlotSelectUiHandler:loading"), TextStyle.WINDOW); this.loadingLabel.setOrigin(0.5, 0.5); this.add(this.loadingLabel); } + /** + * Generates a name for sessions that don't have a name yet. + * @param data - The {@linkcode SessionSaveData} being checked + * @returns The default name for the given data. + */ + decideFallback(data: SessionSaveData): string { + let fallbackName = `${GameMode.getModeName(data.gameMode)}`; + switch (data.gameMode) { + case GameModes.CLASSIC: + fallbackName += ` (${globalScene.gameData.gameStats.classicSessionsPlayed + 1})`; + break; + case GameModes.ENDLESS: + case GameModes.SPLICED_ENDLESS: + fallbackName += ` (${globalScene.gameData.gameStats.endlessSessionsPlayed + 1})`; + break; + case GameModes.DAILY: { + const runDay = new Date(data.timestamp).toLocaleDateString(); + fallbackName += ` (${runDay})`; + break; + } + case GameModes.CHALLENGE: { + const activeChallenges = data.challenges.filter(c => c.value !== 0); + if (activeChallenges.length === 0) { + break; + } + + fallbackName = ""; + for (const challenge of activeChallenges.slice(0, 3)) { + if (fallbackName !== "") { + fallbackName += ", "; + } + fallbackName += challenge.toChallenge().getName(); + } + + if (activeChallenges.length > 3) { + fallbackName += ", ..."; + } else if (fallbackName === "") { + // Something went wrong when retrieving the names of the active challenges, + // so fall back to just naming the run "Challenge" + fallbackName = `${GameMode.getModeName(data.gameMode)}`; + } + break; + } + } + return fallbackName; + } + async setupWithData(data: SessionSaveData) { + const hasName = data?.name; this.remove(this.loadingLabel, true); + if (hasName) { + const nameLabel = addTextObject(8, 5, data.name, TextStyle.WINDOW); + this.add(nameLabel); + } else { + const fallbackName = this.decideFallback(data); + await globalScene.gameData.renameSession(this.slotId, fallbackName); + const nameLabel = addTextObject(8, 5, fallbackName, TextStyle.WINDOW); + this.add(nameLabel); + } const gameModeLabel = addTextObject( 8, - 5, + 19, `${GameMode.getModeName(data.gameMode) || i18next.t("gameMode:unknown")} - ${i18next.t("saveSlotSelectUiHandler:wave")} ${data.waveIndex}`, TextStyle.WINDOW, ); this.add(gameModeLabel); - const timestampLabel = addTextObject(8, 19, new Date(data.timestamp).toLocaleString(), TextStyle.WINDOW); + const timestampLabel = addTextObject(8, 33, new Date(data.timestamp).toLocaleString(), TextStyle.WINDOW); this.add(timestampLabel); - const playTimeLabel = addTextObject(8, 33, getPlayTimeString(data.playTime), TextStyle.WINDOW); + const playTimeLabel = addTextObject(8, 47, getPlayTimeString(data.playTime), TextStyle.WINDOW); this.add(playTimeLabel); - const pokemonIconsContainer = globalScene.add.container(144, 4); + const pokemonIconsContainer = globalScene.add.container(144, 16); data.party.forEach((p: PokemonData, i: number) => { const iconContainer = globalScene.add.container(26 * i, 0); iconContainer.setScale(0.75); @@ -427,13 +594,9 @@ class SessionSlot extends Phaser.GameObjects.Container { TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" }, ); - text.setShadow(0, 0, undefined); - text.setStroke("#424242", 14); - text.setOrigin(1, 0); - - iconContainer.add(icon); - iconContainer.add(text); + text.setShadow(0, 0, undefined).setStroke("#424242", 14).setOrigin(1, 0); + iconContainer.add([icon, text]); pokemonIconsContainer.add(iconContainer); pokemon.destroy(); @@ -441,7 +604,7 @@ class SessionSlot extends Phaser.GameObjects.Container { this.add(pokemonIconsContainer); - const modifierIconsContainer = globalScene.add.container(148, 30); + const modifierIconsContainer = globalScene.add.container(148, 38); modifierIconsContainer.setScale(0.5); let visibleModifierIndex = 0; for (const m of data.modifiers) { @@ -464,22 +627,33 @@ class SessionSlot extends Phaser.GameObjects.Container { load(): Promise { return new Promise(resolve => { - globalScene.gameData.getSession(this.slotId).then(async sessionData => { - // Ignore the results if the view was exited - if (!this.active) { - return; - } - if (!sessionData) { - this.hasData = false; - this.loadingLabel.setText(i18next.t("saveSlotSelectUiHandler:empty")); - resolve(false); - return; - } - this.hasData = true; - this.saveData = sessionData; - await this.setupWithData(sessionData); - resolve(true); - }); + globalScene.gameData + .getSession(this.slotId) + .then(async sessionData => { + // Ignore the results if the view was exited + if (!this.active) { + return; + } + this.hasData = !!sessionData; + if (!sessionData) { + this.loadingLabel.setText(i18next.t("saveSlotSelectUiHandler:empty")); + resolve(false); + return; + } + this.saveData = sessionData; + this.setupWithData(sessionData); + resolve(true); + }) + .catch(e => { + if (!this.active) { + return; + } + console.warn(`Failed to load session slot #${this.slotId}:`, e); + this.loadingLabel.setText(i18next.t("menu:failedToLoadSession")); + this.hasData = true; + this.malformed = true; + resolve(true); + }); }); } } diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index fbcc6ae7e32..83a38ed7fe0 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -45,6 +45,7 @@ import type { Variant } from "#sprites/variant"; import { getVariantIcon, getVariantTint } from "#sprites/variant"; import { achvs } from "#system/achv"; import type { DexAttrProps, StarterAttributes, StarterMoveset } from "#system/game-data"; +import { RibbonData } from "#system/ribbons/ribbon-data"; import { SettingKeyboard } from "#system/settings-keyboard"; import type { DexEntry } from "#types/dex-data"; import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler"; @@ -72,7 +73,7 @@ import { import type { StarterPreferences } from "#utils/data"; import { loadStarterPreferences, saveStarterPreferences } from "#utils/data"; import { getPokemonSpeciesForm, getPokerusStarters } from "#utils/pokemon-utils"; -import { toTitleCase } from "#utils/strings"; +import { toCamelCase, toTitleCase } from "#utils/strings"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; import type { GameObjects } from "phaser"; @@ -2263,7 +2264,7 @@ export class StarterSelectUiHandler extends MessageUiHandler { }); }; options.push({ - label: i18next.t("menuUiHandler:POKEDEX"), + label: i18next.t("menuUiHandler:pokedex"), handler: () => { ui.setMode(UiMode.STARTER_SELECT).then(() => { const attributes = { @@ -3226,6 +3227,8 @@ export class StarterSelectUiHandler extends MessageUiHandler { onScreenFirstIndex + maxRows * maxColumns - 1, ); + const gameData = globalScene.gameData; + this.starterSelectScrollBar.setScrollCursor(this.scrollCursor); let pokerusCursorIndex = 0; @@ -3265,9 +3268,9 @@ export class StarterSelectUiHandler extends MessageUiHandler { container.label.setVisible(true); const speciesVariants = - speciesId && globalScene.gameData.dexData[speciesId].caughtAttr & DexAttr.SHINY + speciesId && gameData.dexData[speciesId].caughtAttr & DexAttr.SHINY ? [DexAttr.DEFAULT_VARIANT, DexAttr.VARIANT_2, DexAttr.VARIANT_3].filter( - v => !!(globalScene.gameData.dexData[speciesId].caughtAttr & v), + v => !!(gameData.dexData[speciesId].caughtAttr & v), ) : []; for (let v = 0; v < 3; v++) { @@ -3282,12 +3285,15 @@ export class StarterSelectUiHandler extends MessageUiHandler { } } - container.starterPassiveBgs.setVisible(!!globalScene.gameData.starterData[speciesId].passiveAttr); + container.starterPassiveBgs.setVisible(!!gameData.starterData[speciesId].passiveAttr); container.hiddenAbilityIcon.setVisible( - !!globalScene.gameData.dexData[speciesId].caughtAttr && - !!(globalScene.gameData.starterData[speciesId].abilityAttr & 4), + !!gameData.dexData[speciesId].caughtAttr && !!(gameData.starterData[speciesId].abilityAttr & 4), ); - container.classicWinIcon.setVisible(globalScene.gameData.starterData[speciesId].classicWinCount > 0); + container.classicWinIcon + .setVisible(gameData.starterData[speciesId].classicWinCount > 0) + .setTexture( + gameData.dexData[speciesId].ribbons.has(RibbonData.NUZLOCKE) ? "champion_ribbon_emerald" : "champion_ribbon", + ); container.favoriteIcon.setVisible(this.starterPreferences[speciesId]?.favorite ?? false); // 'Candy Icon' mode @@ -3464,7 +3470,7 @@ export class StarterSelectUiHandler extends MessageUiHandler { //Growth translate let growthReadable = toTitleCase(GrowthRate[species.growthRate]); - const growthAux = growthReadable.replace(" ", "_"); + const growthAux = toCamelCase(growthReadable); if (i18next.exists("growth:" + growthAux)) { growthReadable = i18next.t(("growth:" + growthAux) as any); } diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index b6ce0a706f8..01d9b981563 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -37,7 +37,7 @@ import { rgbHexToRgba, } from "#utils/common"; import { getEnumValues } from "#utils/enums"; -import { toTitleCase } from "#utils/strings"; +import { toCamelCase, toTitleCase } from "#utils/strings"; import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; @@ -962,7 +962,7 @@ export class SummaryUiHandler extends UiHandler { this.passiveContainer?.descriptionText?.setVisible(false); const closeFragment = getBBCodeFrag("", TextStyle.WINDOW_ALT); - const rawNature = toTitleCase(Nature[this.pokemon?.getNature()!]); // TODO: is this bang correct? + const rawNature = toCamelCase(Nature[this.pokemon?.getNature()!]); // TODO: is this bang correct? const nature = `${getBBCodeFrag(toTitleCase(getNatureName(this.pokemon?.getNature()!)), TextStyle.SUMMARY_RED)}${closeFragment}`; // TODO: is this bang correct? const memoString = i18next.t("pokemonSummary:memoString", { diff --git a/src/ui/test-dialogue-ui-handler.ts b/src/ui/test-dialogue-ui-handler.ts index 4f825ed95ea..6f7c79a151b 100644 --- a/src/ui/test-dialogue-ui-handler.ts +++ b/src/ui/test-dialogue-ui-handler.ts @@ -31,7 +31,7 @@ export class TestDialogueUiHandler extends FormModalUiHandler { // we check for null or undefined here as per above - the typeof is still an object but the value is null so we need to exit out of this and pass the null key // Return in the format expected by i18next - return middleKey ? `${topKey}:${middleKey.map(m => m).join(".")}.${t}` : `${topKey}:${t}`; + return middleKey ? `${topKey}:${middleKey.join(".")}.${t}` : `${topKey}:${t}`; } }) .filter(t => t); diff --git a/src/ui/ui.ts b/src/ui/ui.ts index d5baea07ed5..e381d205b78 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -60,6 +60,7 @@ import { addWindow } from "#ui/ui-theme"; import { UnavailableModalUiHandler } from "#ui/unavailable-modal-ui-handler"; import { executeIf } from "#utils/common"; import i18next from "i18next"; +import { RenameRunFormUiHandler } from "./rename-run-ui-handler"; const transitionModes = [ UiMode.SAVE_SLOT, @@ -98,6 +99,7 @@ const noTransitionModes = [ UiMode.SESSION_RELOAD, UiMode.UNAVAILABLE, UiMode.RENAME_POKEMON, + UiMode.RENAME_RUN, UiMode.TEST_DIALOGUE, UiMode.AUTO_COMPLETE, UiMode.ADMIN, @@ -168,6 +170,7 @@ export class UI extends Phaser.GameObjects.Container { new UnavailableModalUiHandler(), new GameChallengesUiHandler(), new RenameFormUiHandler(), + new RenameRunFormUiHandler(), new RunHistoryUiHandler(), new RunInfoUiHandler(), new TestDialogueUiHandler(UiMode.TEST_DIALOGUE), diff --git a/src/utils/challenge-utils.ts b/src/utils/challenge-utils.ts index 43297027e04..c4fac3a0323 100644 --- a/src/utils/challenge-utils.ts +++ b/src/utils/challenge-utils.ts @@ -4,6 +4,7 @@ import { pokemonEvolutions } from "#balance/pokemon-evolutions"; import { pokemonFormChanges } from "#data/pokemon-forms"; import type { PokemonSpecies } from "#data/pokemon-species"; import { ChallengeType } from "#enums/challenge-type"; +import { Challenges } from "#enums/challenges"; import type { MoveId } from "#enums/move-id"; import type { MoveSourceType } from "#enums/move-source-type"; import type { SpeciesId } from "#enums/species-id"; @@ -378,7 +379,7 @@ export function checkStarterValidForChallenge(species: PokemonSpecies, props: De * @param soft - If `true`, allow it if it could become valid through a form change. * @returns `true` if the species is considered valid. */ -function checkSpeciesValidForChallenge(species: PokemonSpecies, props: DexAttrProps, soft: boolean) { +export function checkSpeciesValidForChallenge(species: PokemonSpecies, props: DexAttrProps, soft: boolean) { const isValidForChallenge = new BooleanHolder(true); applyChallenges(ChallengeType.STARTER_CHOICE, species, isValidForChallenge, props); if (!soft || !pokemonFormChanges.hasOwnProperty(species.speciesId)) { @@ -407,3 +408,28 @@ function checkSpeciesValidForChallenge(species: PokemonSpecies, props: DexAttrPr }); return result; } + +/** @returns Whether the current game mode meets the criteria to be considered a Nuzlocke challenge */ +export function isNuzlockeChallenge(): boolean { + let isFreshStart = false; + let isLimitedCatch = false; + let isHardcore = false; + for (const challenge of globalScene.gameMode.challenges) { + // value is 0 if challenge is not active + if (!challenge.value) { + continue; + } + switch (challenge.id) { + case Challenges.FRESH_START: + isFreshStart = true; + break; + case Challenges.LIMITED_CATCH: + isLimitedCatch = true; + break; + case Challenges.HARDCORE: + isHardcore = true; + break; + } + } + return isFreshStart && isLimitedCatch && isHardcore; +} diff --git a/src/utils/data.ts b/src/utils/data.ts index 932ea38d504..6580ecf2ee9 100644 --- a/src/utils/data.ts +++ b/src/utils/data.ts @@ -45,17 +45,17 @@ export function deepMergeSpriteData(dest: object, source: object) { } export function encrypt(data: string, bypassLogin: boolean): string { - return (bypassLogin - ? (data: string) => btoa(encodeURIComponent(data)) - : (data: string) => AES.encrypt(data, saveKey))(data) as unknown as string; // TODO: is this correct? + if (bypassLogin) { + return btoa(encodeURIComponent(data)); + } + return AES.encrypt(data, saveKey).toString(); } export function decrypt(data: string, bypassLogin: boolean): string { - return ( - bypassLogin - ? (data: string) => decodeURIComponent(atob(data)) - : (data: string) => AES.decrypt(data, saveKey).toString(enc.Utf8) - )(data); + if (bypassLogin) { + return decodeURIComponent(atob(data)); + } + return AES.decrypt(data, saveKey).toString(enc.Utf8); } // 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. diff --git a/test/@types/test-helpers.ts b/test/@types/test-helpers.ts new file mode 100644 index 00000000000..b867eb32570 --- /dev/null +++ b/test/@types/test-helpers.ts @@ -0,0 +1,27 @@ +import type { AtLeastOne, NonFunctionPropertiesRecursive as nonFunc } from "#types/type-helpers"; + +/** + * Helper type to admit an object containing the given properties + * _and_ at least 1 other non-function property. + * @example + * ```ts + * type foo = { + * qux: 1 | 2 | 3, + * bar: number, + * baz: string + * quux: () => void; // ignored! + * } + * + * type quxAndSomethingElse = OneOther + * + * const good1: quxAndSomethingElse = {qux: 1, bar: 3} // OK! + * const good2: quxAndSomethingElse = {qux: 2, baz: "4", bar: 12} // OK! + * const bad1: quxAndSomethingElse = {baz: "4", bar: 12} // Errors because `qux` is required + * const bad2: quxAndSomethingElse = {qux: 1} // Errors because at least 1 thing _other_ than `qux` is required + * ``` + * @typeParam O - The object to source keys from + * @typeParam K - One or more of O's keys to render mandatory + */ +export type OneOther = AtLeastOne, K>> & { + [key in K]: O[K]; +}; diff --git a/test/@types/vitest.d.ts b/test/@types/vitest.d.ts index 7b756c45a57..21cf76ed352 100644 --- a/test/@types/vitest.d.ts +++ b/test/@types/vitest.d.ts @@ -1,23 +1,32 @@ import type { TerrainType } from "#app/data/terrain"; +import type Overrides from "#app/overrides"; +import type { ArenaTag } from "#data/arena-tag"; +import type { PositionalTag } from "#data/positional-tags/positional-tag"; import type { AbilityId } from "#enums/ability-id"; +import type { ArenaTagSide } from "#enums/arena-tag-side"; +import type { ArenaTagType } from "#enums/arena-tag-type"; import type { BattlerTagType } from "#enums/battler-tag-type"; import type { MoveId } from "#enums/move-id"; import type { PokemonType } from "#enums/pokemon-type"; +import type { PositionalTagType } from "#enums/positional-tag-type"; import type { BattleStat, EffectiveStat, Stat } from "#enums/stat"; import type { StatusEffect } from "#enums/status-effect"; import type { WeatherType } from "#enums/weather-type"; +import type { Arena } from "#field/arena"; import type { Pokemon } from "#field/pokemon"; -import type { ToHaveEffectiveStatMatcherOptions } from "#test/test-utils/matchers/to-have-effective-stat"; +import type { PokemonMove } from "#moves/pokemon-move"; +import type { toHaveArenaTagOptions } from "#test/test-utils/matchers/to-have-arena-tag"; +import type { toHaveEffectiveStatOptions } from "#test/test-utils/matchers/to-have-effective-stat"; +import type { toHavePositionalTagOptions } from "#test/test-utils/matchers/to-have-positional-tag"; import type { expectedStatusType } from "#test/test-utils/matchers/to-have-status-effect"; import type { toHaveTypesOptions } from "#test/test-utils/matchers/to-have-types"; import type { TurnMove } from "#types/turn-move"; import type { AtLeastOne } from "#types/type-helpers"; +import type { toDmgValue } from "utils/common"; import type { expect } from "vitest"; -import type Overrides from "#app/overrides"; -import type { PokemonMove } from "#moves/pokemon-move"; declare module "vitest" { - interface Assertion { + interface Assertion { /** * Check whether an array contains EXACTLY the given items (in any order). * @@ -27,45 +36,9 @@ declare module "vitest" { * @param expected - The expected contents of the array, in any order * @see {@linkcode expect.arrayContaining} */ - toEqualArrayUnsorted(expected: E[]): void; + toEqualArrayUnsorted(expected: T[]): void; - /** - * Check whether a {@linkcode Pokemon}'s current typing includes the given types. - * - * @param expected - The expected types (in any order) - * @param options - The options passed to the matcher - */ - toHaveTypes(expected: [PokemonType, ...PokemonType[]], options?: toHaveTypesOptions): void; - - /** - * Matcher to check the contents of a {@linkcode Pokemon}'s move history. - * - * @param expectedValue - The expected value; can be a {@linkcode MoveId} or a partially filled {@linkcode TurnMove} - * containing the desired properties to check - * @param index - The index of the move history entry to check, in order from most recent to least recent. - * Default `0` (last used move) - * @see {@linkcode Pokemon.getLastXMoves} - */ - toHaveUsedMove(expected: MoveId | AtLeastOne, index?: number): void; - - /** - * Check whether a {@linkcode Pokemon}'s effective stat is as expected - * (checked after all stat value modifications). - * - * @param stat - The {@linkcode EffectiveStat} to check - * @param expectedValue - The expected value of {@linkcode stat} - * @param options - (Optional) The {@linkcode ToHaveEffectiveStatMatcherOptions} - * @remarks - * If you want to check the stat **before** modifiers are applied, use {@linkcode Pokemon.getStat} instead. - */ - toHaveEffectiveStat(stat: EffectiveStat, expectedValue: number, options?: ToHaveEffectiveStatMatcherOptions): void; - - /** - * Check whether a {@linkcode Pokemon} has taken a specific amount of damage. - * @param expectedDamageTaken - The expected amount of damage taken - * @param roundDown - Whether to round down {@linkcode expectedDamageTaken} with {@linkcode toDmgValue}; default `true` - */ - toHaveTakenDamage(expectedDamageTaken: number, roundDown?: boolean): void; + // #region Arena Matchers /** * Check whether the current {@linkcode WeatherType} is as expected. @@ -80,9 +53,60 @@ declare module "vitest" { toHaveTerrain(expectedTerrainType: TerrainType): void; /** - * Check whether a {@linkcode Pokemon} is at full HP. + * Check whether the current {@linkcode Arena} contains the given {@linkcode ArenaTag}. + * @param expectedTag - A partially-filled {@linkcode ArenaTag} containing the desired properties */ - toHaveFullHp(): void; + toHaveArenaTag(expectedTag: toHaveArenaTagOptions): void; + /** + * Check whether the current {@linkcode Arena} contains the given {@linkcode ArenaTag}. + * @param expectedType - The {@linkcode ArenaTagType} of the desired tag + * @param side - The {@linkcode ArenaTagSide | side(s) of the field} the tag should affect; default {@linkcode ArenaTagSide.BOTH} + */ + toHaveArenaTag(expectedType: ArenaTagType, side?: ArenaTagSide): void; + + /** + * Check whether the current {@linkcode Arena} contains the given {@linkcode PositionalTag}. + * @param expectedTag - A partially-filled `PositionalTag` containing the desired properties + */ + toHavePositionalTag

(expectedTag: toHavePositionalTagOptions

): void; + /** + * Check whether the current {@linkcode Arena} contains the given number of {@linkcode PositionalTag}s. + * @param expectedType - The {@linkcode PositionalTagType} of the desired tag + * @param count - The number of instances of {@linkcode expectedType} that should be active; + * defaults to `1` and must be within the range `[0, 4]` + */ + toHavePositionalTag(expectedType: PositionalTagType, count?: number): void; + + // #endregion Arena Matchers + + // #region Pokemon Matchers + + /** + * Check whether a {@linkcode Pokemon}'s current typing includes the given types. + * @param expectedTypes - The expected {@linkcode PokemonType}s to check against; must have length `>0` + * @param options - The {@linkcode toHaveTypesOptions | options} passed to the matcher + */ + toHaveTypes(expectedTypes: PokemonType[], options?: toHaveTypesOptions): void; + + /** + * Check whether a {@linkcode Pokemon} has used a move matching the given criteria. + * @param expectedMove - The {@linkcode MoveId} the Pokemon is expected to have used, + * or a partially filled {@linkcode TurnMove} containing the desired properties to check + * @param index - The index of the move history entry to check, in order from most recent to least recent; default `0` + * @see {@linkcode Pokemon.getLastXMoves} + */ + toHaveUsedMove(expectedMove: MoveId | AtLeastOne, index?: number): void; + + /** + * Check whether a {@linkcode Pokemon}'s effective stat is as expected + * (checked after all stat value modifications). + * @param stat - The {@linkcode EffectiveStat} to check + * @param expectedValue - The expected value of {@linkcode stat} + * @param options - The {@linkcode toHaveEffectiveStatOptions | options} passed to the matcher + * @remarks + * If you want to check the stat **before** modifiers are applied, use {@linkcode Pokemon.getStat} instead. + */ + toHaveEffectiveStat(stat: EffectiveStat, expectedValue: number, options?: toHaveEffectiveStatOptions): void; /** * Check whether a {@linkcode Pokemon} has a specific {@linkcode StatusEffect | non-volatile status effect}. @@ -106,7 +130,7 @@ declare module "vitest" { /** * Check whether a {@linkcode Pokemon} has applied a specific {@linkcode AbilityId}. - * @param expectedAbilityId - The expected {@linkcode AbilityId} + * @param expectedAbilityId - The `AbilityId` to check for */ toHaveAbilityApplied(expectedAbilityId: AbilityId): void; @@ -116,24 +140,36 @@ declare module "vitest" { */ toHaveHp(expectedHp: number): void; + /** + * Check whether a {@linkcode Pokemon} has taken a specific amount of damage. + * @param expectedDamageTaken - The expected amount of damage taken + * @param roundDown - Whether to round down `expectedDamageTaken` with {@linkcode toDmgValue}; default `true` + */ + toHaveTakenDamage(expectedDamageTaken: number, roundDown?: boolean): void; + /** * Check whether a {@linkcode Pokemon} is currently fainted (as determined by {@linkcode Pokemon.isFainted}). * @remarks - * When checking whether an enemy wild Pokemon is fainted, one must reference it in a variable _before_ the fainting effect occurs - * as otherwise the Pokemon will be GC'ed and rendered `undefined`. + * When checking whether an enemy wild Pokemon is fainted, one must store a reference to it in a variable _before_ the fainting effect occurs. + * Otherwise, the Pokemon will be removed from the field and garbage collected. */ toHaveFainted(): void; + /** + * Check whether a {@linkcode Pokemon} is at full HP. + */ + toHaveFullHp(): void; /** * Check whether a {@linkcode Pokemon} has consumed the given amount of PP for one of its moves. - * @param expectedValue - The {@linkcode MoveId} of the {@linkcode PokemonMove} that should have consumed PP + * @param moveId - The {@linkcode MoveId} corresponding to the {@linkcode PokemonMove} that should have consumed PP * @param ppUsed - The numerical amount of PP that should have been consumed, * or `all` to indicate the move should be _out_ of PP * @remarks - * If the Pokemon's moveset has been set via {@linkcode Overrides.MOVESET_OVERRIDE}/{@linkcode Overrides.OPP_MOVESET_OVERRIDE}, - * does not contain {@linkcode expectedMove} - * or contains the desired move more than once, this will fail the test. + * If the Pokemon's moveset has been set via {@linkcode Overrides.MOVESET_OVERRIDE}/{@linkcode Overrides.ENEMY_MOVESET_OVERRIDE} + * or does not contain exactly one copy of `moveId`, this will fail the test. */ - toHaveUsedPP(expectedMove: MoveId, ppUsed: number | "all"): void; + toHaveUsedPP(moveId: MoveId, ppUsed: number | "all"): void; + + // #endregion Pokemon Matchers } } diff --git a/test/challenges/limited-catch.test.ts b/test/challenges/limited-catch.test.ts index 80be52df2fb..b51732305d0 100644 --- a/test/challenges/limited-catch.test.ts +++ b/test/challenges/limited-catch.test.ts @@ -1,8 +1,10 @@ import { AbilityId } from "#enums/ability-id"; import { Challenges } from "#enums/challenges"; import { MoveId } from "#enums/move-id"; +import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PokeballType } from "#enums/pokeball"; import { SpeciesId } from "#enums/species-id"; +import { runMysteryEncounterToEnd } from "#test/mystery-encounter/encounter-test-utils"; import { GameManager } from "#test/test-utils/game-manager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -52,4 +54,18 @@ describe("Challenges - Limited Catch", () => { expect(game.scene.getPlayerParty()).toHaveLength(1); }); + + it("should allow gift Pokémon from Mystery Encounters to be added to party", async () => { + game.override + .mysteryEncounterChance(100) + .mysteryEncounter(MysteryEncounterType.THE_POKEMON_SALESMAN) + .startingWave(12); + game.scene.money = 20000; + + await game.challengeMode.runToSummon([SpeciesId.NUZLEAF]); + + await runMysteryEncounterToEnd(game, 1); + + expect(game.scene.getPlayerParty()).toHaveLength(2); + }); }); diff --git a/test/challenges/limited-support.test.ts b/test/challenges/limited-support.test.ts index 5c0eb2bd420..35413220550 100644 --- a/test/challenges/limited-support.test.ts +++ b/test/challenges/limited-support.test.ts @@ -3,6 +3,7 @@ import { Challenges } from "#enums/challenges"; import { MoveId } from "#enums/move-id"; import { SpeciesId } from "#enums/species-id"; import { UiMode } from "#enums/ui-mode"; +import { ExpBoosterModifier } from "#modifiers/modifier"; import { GameManager } from "#test/test-utils/game-manager"; import { ModifierSelectUiHandler } from "#ui/modifier-select-ui-handler"; import Phaser from "phaser"; @@ -75,6 +76,7 @@ describe("Challenges - Limited Support", () => { await game.doKillOpponents(); await game.toNextWave(); + expect(game.scene.getModifiers(ExpBoosterModifier)).toHaveLength(1); expect(playerPokemon).not.toHaveFullHp(); game.move.use(MoveId.SPLASH); diff --git a/test/matchers.setup.ts b/test/matchers.setup.ts index 03b29302916..f76a9423ab3 100644 --- a/test/matchers.setup.ts +++ b/test/matchers.setup.ts @@ -1,10 +1,12 @@ import { toEqualArrayUnsorted } from "#test/test-utils/matchers/to-equal-array-unsorted"; import { toHaveAbilityApplied } from "#test/test-utils/matchers/to-have-ability-applied"; +import { toHaveArenaTag } from "#test/test-utils/matchers/to-have-arena-tag"; import { toHaveBattlerTag } from "#test/test-utils/matchers/to-have-battler-tag"; import { toHaveEffectiveStat } from "#test/test-utils/matchers/to-have-effective-stat"; import { toHaveFainted } from "#test/test-utils/matchers/to-have-fainted"; import { toHaveFullHp } from "#test/test-utils/matchers/to-have-full-hp"; import { toHaveHp } from "#test/test-utils/matchers/to-have-hp"; +import { toHavePositionalTag } from "#test/test-utils/matchers/to-have-positional-tag"; import { toHaveStatStage } from "#test/test-utils/matchers/to-have-stat-stage"; import { toHaveStatusEffect } from "#test/test-utils/matchers/to-have-status-effect"; import { toHaveTakenDamage } from "#test/test-utils/matchers/to-have-taken-damage"; @@ -22,18 +24,20 @@ import { expect } from "vitest"; expect.extend({ toEqualArrayUnsorted, + toHaveWeather, + toHaveTerrain, + toHaveArenaTag, + toHavePositionalTag, toHaveTypes, toHaveUsedMove, toHaveEffectiveStat, - toHaveTakenDamage, - toHaveWeather, - toHaveTerrain, - toHaveFullHp, toHaveStatusEffect, toHaveStatStage, toHaveBattlerTag, toHaveAbilityApplied, toHaveHp, + toHaveTakenDamage, + toHaveFullHp, toHaveFainted, toHaveUsedPP, }); diff --git a/test/moves/whirlwind.test.ts b/test/moves/whirlwind.test.ts index bbb2afe621a..61c05a30322 100644 --- a/test/moves/whirlwind.test.ts +++ b/test/moves/whirlwind.test.ts @@ -1,4 +1,3 @@ -import { globalScene } from "#app/global-scene"; import { Status } from "#data/status-effect"; import { AbilityId } from "#enums/ability-id"; import { BattleType } from "#enums/battle-type"; @@ -179,18 +178,13 @@ describe("Moves - Whirlwind", () => { const eligibleEnemy = enemyParty.filter(p => p.hp > 0 && p.isAllowedInBattle()); expect(eligibleEnemy.length).toBe(1); - // Spy on the queueMessage function - const queueSpy = vi.spyOn(globalScene.phaseManager, "queueMessage"); - // Player uses Whirlwind; opponent uses Splash game.move.select(MoveId.WHIRLWIND); await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); - // Verify that the failure message is displayed for Whirlwind - expect(queueSpy).toHaveBeenCalledWith(expect.stringContaining("But it failed")); - // Verify the opponent's Splash message - expect(queueSpy).toHaveBeenCalledWith(expect.stringContaining("But nothing happened!")); + const player = game.field.getPlayerPokemon(); + expect(player).toHaveUsedMove({ move: MoveId.WHIRLWIND, result: MoveResult.FAIL }); }); it("should not pull in the other trainer's pokemon in a partner trainer battle", async () => { diff --git a/test/moves/wish.test.ts b/test/moves/wish.test.ts index 147c598106b..55877edbfd4 100644 --- a/test/moves/wish.test.ts +++ b/test/moves/wish.test.ts @@ -39,15 +39,6 @@ describe("Move - Wish", () => { .enemyLevel(100); }); - /** - * Expect that wish is active with the specified number of attacks. - * @param numAttacks - The number of wish instances that should be queued; default `1` - */ - function expectWishActive(numAttacks = 1) { - const wishes = game.scene.arena.positionalTagManager["tags"].filter(t => t.tagType === PositionalTagType.WISH); - expect(wishes).toHaveLength(numAttacks); - } - it("should heal the Pokemon in the current slot for 50% of the user's maximum HP", async () => { await game.classicMode.startBattle([SpeciesId.ALOMOMOLA, SpeciesId.BLISSEY]); @@ -58,19 +49,19 @@ describe("Move - Wish", () => { game.move.use(MoveId.WISH); await game.toNextTurn(); - expectWishActive(); + expect(game).toHavePositionalTag(PositionalTagType.WISH); game.doSwitchPokemon(1); await game.toEndOfTurn(); - expectWishActive(0); + expect(game).toHavePositionalTag(PositionalTagType.WISH, 0); expect(game.textInterceptor.logs).toContain( i18next.t("arenaTag:wishTagOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(alomomola), }), ); - expect(alomomola.hp).toBe(1); - expect(blissey.hp).toBe(toDmgValue(alomomola.getMaxHp() / 2) + 1); + expect(alomomola).toHaveHp(1); + expect(blissey).toHaveHp(toDmgValue(alomomola.getMaxHp() / 2) + 1); }); it("should work if the user has full HP, but not if it already has an active Wish", async () => { @@ -82,13 +73,13 @@ describe("Move - Wish", () => { game.move.use(MoveId.WISH); await game.toNextTurn(); - expectWishActive(); + expect(game).toHavePositionalTag(PositionalTagType.WISH); game.move.use(MoveId.WISH); await game.toEndOfTurn(); expect(alomomola.hp).toBe(toDmgValue(alomomola.getMaxHp() / 2) + 1); - expect(alomomola.getLastXMoves()[0].result).toBe(MoveResult.FAIL); + expect(alomomola).toHaveUsedMove({ result: MoveResult.FAIL }); }); it("should function independently of Future Sight", async () => { @@ -103,7 +94,8 @@ describe("Move - Wish", () => { await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - expectWishActive(1); + expect(game).toHavePositionalTag(PositionalTagType.WISH); + expect(game).toHavePositionalTag(PositionalTagType.DELAYED_ATTACK); }); it("should work in double battles and trigger in order of creation", async () => { @@ -127,7 +119,7 @@ describe("Move - Wish", () => { await game.setTurnOrder(oldOrder.map(p => p.getBattlerIndex())); await game.toNextTurn(); - expectWishActive(4); + expect(game).toHavePositionalTag(PositionalTagType.WISH, 4); // Lower speed to change turn order alomomola.setStatStage(Stat.SPD, 6); @@ -141,7 +133,7 @@ describe("Move - Wish", () => { await game.phaseInterceptor.to("PositionalTagPhase"); // all wishes have activated and added healing phases - expectWishActive(0); + expect(game).toHavePositionalTag(PositionalTagType.WISH, 0); const healPhases = game.scene.phaseManager.phaseQueue.filter(p => p.is("PokemonHealPhase")); expect(healPhases).toHaveLength(4); @@ -165,14 +157,14 @@ describe("Move - Wish", () => { game.move.use(MoveId.WISH, BattlerIndex.PLAYER_2); await game.toNextTurn(); - expectWishActive(); + expect(game).toHavePositionalTag(PositionalTagType.WISH); game.move.use(MoveId.SPLASH, BattlerIndex.PLAYER); game.move.use(MoveId.MEMENTO, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2); await game.toEndOfTurn(); // Wish went away without doing anything - expectWishActive(0); + expect(game).toHavePositionalTag(PositionalTagType.WISH, 0); expect(game.textInterceptor.logs).not.toContain( i18next.t("arenaTag:wishTagOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(blissey), diff --git a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts index d903568785a..dfd102daa43 100644 --- a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts +++ b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts @@ -66,7 +66,7 @@ describe("An Offer You Can't Refuse - Mystery Encounter", () => { expect(AnOfferYouCantRefuseEncounter.dialogue).toBeDefined(); expect(AnOfferYouCantRefuseEncounter.dialogue.intro).toStrictEqual([ { text: `${namespace}:intro` }, - { speaker: `${namespace}:speaker`, text: `${namespace}:intro_dialogue` }, + { speaker: `${namespace}:speaker`, text: `${namespace}:introDialogue` }, ]); expect(AnOfferYouCantRefuseEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); expect(AnOfferYouCantRefuseEncounter.dialogue.encounterOptionsDialogue?.description).toBe( @@ -180,7 +180,7 @@ describe("An Offer You Can't Refuse - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`, + disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`, selected: [ { speaker: `${namespace}:speaker`, diff --git a/test/mystery-encounter/encounters/berries-abound-encounter.test.ts b/test/mystery-encounter/encounters/berries-abound-encounter.test.ts index 25116a89ec5..ecd08b5e57b 100644 --- a/test/mystery-encounter/encounters/berries-abound-encounter.test.ts +++ b/test/mystery-encounter/encounters/berries-abound-encounter.test.ts @@ -194,7 +194,7 @@ describe("Berries Abound - Mystery Encounter", () => { // Should be enraged expect(enemyField[0].summonData.statStages).toEqual([0, 1, 0, 1, 1, 0, 0]); - expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selected_bad`); + expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selectedBad`); }); it("should start battle if fastest pokemon is slower than boss above wave 50", async () => { @@ -218,7 +218,7 @@ describe("Berries Abound - Mystery Encounter", () => { // Should be enraged expect(enemyField[0].summonData.statStages).toEqual([1, 1, 1, 1, 1, 0, 0]); - expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selected_bad`); + expect(encounterTextSpy).toHaveBeenCalledWith(`${namespace}:option.2.selectedBad`); }); it("Should skip battle when fastest pokemon is faster than boss", async () => { diff --git a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts index bed9d48d063..f0fe8be6a01 100644 --- a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts +++ b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts @@ -181,7 +181,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(BugTypeSuperfanEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); @@ -389,7 +389,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, }); }); @@ -513,17 +513,17 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, }, { speaker: `${namespace}:speaker`, - text: `${namespace}:option.3.selected_dialogue`, + text: `${namespace}:option.3.selectedDialogue`, }, ], - secondOptionPrompt: `${namespace}:option.3.select_prompt`, + secondOptionPrompt: `${namespace}:option.3.selectPrompt`, }); }); diff --git a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts index b573701d568..b0dacd0df08 100644 --- a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts +++ b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts @@ -80,7 +80,7 @@ describe("Clowning Around - Mystery Encounter", () => { { text: `${namespace}:intro` }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(ClowningAroundEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); @@ -249,11 +249,11 @@ describe("Clowning Around - Mystery Encounter", () => { text: `${namespace}:option.2.selected`, }, { - text: `${namespace}:option.2.selected_2`, + text: `${namespace}:option.2.selected2`, }, { speaker: `${namespace}:speaker`, - text: `${namespace}:option.2.selected_3`, + text: `${namespace}:option.2.selected3`, }, ], }); @@ -334,11 +334,11 @@ describe("Clowning Around - Mystery Encounter", () => { text: `${namespace}:option.3.selected`, }, { - text: `${namespace}:option.3.selected_2`, + text: `${namespace}:option.3.selected2`, }, { speaker: `${namespace}:speaker`, - text: `${namespace}:option.3.selected_3`, + text: `${namespace}:option.3.selected3`, }, ], }); diff --git a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts index 97d0ce31367..95817abc1d8 100644 --- a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts +++ b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts @@ -186,8 +186,8 @@ describe("Dancing Lessons - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, - secondOptionPrompt: `${namespace}:option.3.select_prompt`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, + secondOptionPrompt: `${namespace}:option.3.selectPrompt`, selected: [ { text: `${namespace}:option.3.selected`, diff --git a/test/mystery-encounter/encounters/delibirdy-encounter.test.ts b/test/mystery-encounter/encounters/delibirdy-encounter.test.ts index 16c726f1de6..aac7a5f75f5 100644 --- a/test/mystery-encounter/encounters/delibirdy-encounter.test.ts +++ b/test/mystery-encounter/encounters/delibirdy-encounter.test.ts @@ -186,7 +186,7 @@ describe("Delibird-y - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - secondOptionPrompt: `${namespace}:option.2.select_prompt`, + secondOptionPrompt: `${namespace}:option.2.selectPrompt`, selected: [ { text: `${namespace}:option.2.selected`, @@ -348,7 +348,7 @@ describe("Delibird-y - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - secondOptionPrompt: `${namespace}:option.3.select_prompt`, + secondOptionPrompt: `${namespace}:option.3.selectPrompt`, selected: [ { text: `${namespace}:option.3.selected`, diff --git a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts index 3d84d70b47e..f8ff6beaf30 100644 --- a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts +++ b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts @@ -61,7 +61,7 @@ describe("Department Store Sale - Mystery Encounter", () => { { text: `${namespace}:intro` }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(DepartmentStoreSaleEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); diff --git a/test/mystery-encounter/encounters/field-trip-encounter.test.ts b/test/mystery-encounter/encounters/field-trip-encounter.test.ts index 8502137cc6e..fd3e20012b1 100644 --- a/test/mystery-encounter/encounters/field-trip-encounter.test.ts +++ b/test/mystery-encounter/encounters/field-trip-encounter.test.ts @@ -61,7 +61,7 @@ describe("Field Trip - Mystery Encounter", () => { }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(FieldTripEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); @@ -78,7 +78,7 @@ describe("Field Trip - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.1.label`, buttonTooltip: `${namespace}:option.1.tooltip`, - secondOptionPrompt: `${namespace}:second_option_prompt`, + secondOptionPrompt: `${namespace}:secondOptionPrompt`, }); }); @@ -139,7 +139,7 @@ describe("Field Trip - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - secondOptionPrompt: `${namespace}:second_option_prompt`, + secondOptionPrompt: `${namespace}:secondOptionPrompt`, }); }); @@ -200,7 +200,7 @@ describe("Field Trip - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - secondOptionPrompt: `${namespace}:second_option_prompt`, + secondOptionPrompt: `${namespace}:secondOptionPrompt`, }); }); diff --git a/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts b/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts index a48422c459f..54f790ca207 100644 --- a/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts +++ b/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts @@ -253,7 +253,7 @@ describe("Fiery Fallout - Mystery Encounter", () => { expect(option1.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, diff --git a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts index 8149212f00f..e8cfd1ab79e 100644 --- a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts +++ b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts @@ -143,7 +143,7 @@ describe("Fight or Flight - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, selected: [ { text: `${namespace}:option.2.selected`, diff --git a/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts b/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts index 3025b08b8b6..4b39aee2522 100644 --- a/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts +++ b/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts @@ -71,7 +71,7 @@ describe("Fun And Games! - Mystery Encounter", () => { expect(FunAndGamesEncounter.dialogue.intro).toStrictEqual([ { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(FunAndGamesEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); diff --git a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts index 867a33f6ab6..410b99c7ebc 100644 --- a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts +++ b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts @@ -98,7 +98,7 @@ describe("Global Trade System - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.1.label`, buttonTooltip: `${namespace}:option.1.tooltip`, - secondOptionPrompt: `${namespace}:option.1.trade_options_prompt`, + secondOptionPrompt: `${namespace}:option.1.tradeOptionsPrompt`, }); }); @@ -210,7 +210,7 @@ describe("Global Trade System - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - secondOptionPrompt: `${namespace}:option.3.trade_options_prompt`, + secondOptionPrompt: `${namespace}:option.3.tradeOptionsPrompt`, }); }); diff --git a/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts b/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts index d29f8fe6a82..73134381553 100644 --- a/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts +++ b/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts @@ -99,9 +99,9 @@ describe("Lost at Sea - Mystery Encounter", () => { expect(option1.dialogue).toBeDefined(); expect(option1.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.1.label`, - disabledButtonLabel: `${namespace}:option.1.label_disabled`, + disabledButtonLabel: `${namespace}:option.1.labelDisabled`, buttonTooltip: `${namespace}:option.1.tooltip`, - disabledButtonTooltip: `${namespace}:option.1.tooltip_disabled`, + disabledButtonTooltip: `${namespace}:option.1.tooltipDisabled`, selected: [ { text: `${namespace}:option.1.selected`, @@ -162,9 +162,9 @@ describe("Lost at Sea - Mystery Encounter", () => { expect(option2.dialogue).toBeDefined(); expect(option2.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, - disabledButtonLabel: `${namespace}:option.2.label_disabled`, + disabledButtonLabel: `${namespace}:option.2.labelDisabled`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.tooltip_disabled`, + disabledButtonTooltip: `${namespace}:option.2.tooltipDisabled`, selected: [ { text: `${namespace}:option.2.selected`, diff --git a/test/mystery-encounter/encounters/part-timer-encounter.test.ts b/test/mystery-encounter/encounters/part-timer-encounter.test.ts index 63eea8bbca2..ae07d4c2004 100644 --- a/test/mystery-encounter/encounters/part-timer-encounter.test.ts +++ b/test/mystery-encounter/encounters/part-timer-encounter.test.ts @@ -65,7 +65,7 @@ describe("Part-Timer - Mystery Encounter", () => { { text: `${namespace}:intro` }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(PartTimerEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); @@ -219,7 +219,7 @@ describe("Part-Timer - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, diff --git a/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts b/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts index ff4f73cfbde..5d53e57d2eb 100644 --- a/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts +++ b/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts @@ -207,7 +207,7 @@ describe("Teleporting Hijinks - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, selected: [ { text: `${namespace}:option.2.selected`, diff --git a/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts b/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts index 4556f7a7f45..31584048c78 100644 --- a/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts @@ -71,7 +71,7 @@ describe("The Expert Pokémon Breeder - Mystery Encounter", () => { }, { speaker: "trainerNames:expert_pokemon_breeder", - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(TheExpertPokemonBreederEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); diff --git a/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts b/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts index 611a103dab2..7c60cbcb4a9 100644 --- a/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts @@ -67,7 +67,7 @@ describe("The Pokemon Salesman - Mystery Encounter", () => { expect(dialogue).toBeDefined(); expect(dialogue.intro).toStrictEqual([ { text: `${namespace}:intro` }, - { speaker: `${namespace}:speaker`, text: `${namespace}:intro_dialogue` }, + { speaker: `${namespace}:speaker`, text: `${namespace}:introDialogue` }, ]); const { title, description, query } = dialogue.encounterOptionsDialogue!; expect(title).toBe(`${namespace}:title`); @@ -120,7 +120,7 @@ describe("The Pokemon Salesman - Mystery Encounter", () => { buttonTooltip: expect.stringMatching(new RegExp(`^${namespace}\\:option\\.1\\.tooltip(_shiny)?$`)), selected: [ { - text: `${namespace}:option.1.selected_message`, + text: `${namespace}:option.1.selectedMessage`, }, ], }); diff --git a/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts b/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts index ae2f9fd79ff..2da246bebb1 100644 --- a/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts @@ -73,7 +73,7 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { { text: `${namespace}:intro` }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(TheWinstrateChallengeEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); diff --git a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts index 24d7960049e..4d7e10daa03 100644 --- a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts +++ b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts @@ -172,7 +172,7 @@ describe("Uncommon Breed - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.2.label`, buttonTooltip: `${namespace}:option.2.tooltip`, - disabledButtonTooltip: `${namespace}:option.2.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.2.disabledTooltip`, selected: [ { text: `${namespace}:option.2.selected`, @@ -237,7 +237,7 @@ describe("Uncommon Breed - Mystery Encounter", () => { expect(option.dialogue).toStrictEqual({ buttonLabel: `${namespace}:option.3.label`, buttonTooltip: `${namespace}:option.3.tooltip`, - disabledButtonTooltip: `${namespace}:option.3.disabled_tooltip`, + disabledButtonTooltip: `${namespace}:option.3.disabledTooltip`, selected: [ { text: `${namespace}:option.3.selected`, diff --git a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts index ed0d612e967..e2317d70896 100644 --- a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts +++ b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts @@ -68,7 +68,7 @@ describe("Weird Dream - Mystery Encounter", () => { }, { speaker: `${namespace}:speaker`, - text: `${namespace}:intro_dialogue`, + text: `${namespace}:introDialogue`, }, ]); expect(WeirdDreamEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}:title`); @@ -112,7 +112,7 @@ describe("Weird Dream - Mystery Encounter", () => { it("should transform the new party into new species, 2 at +90/+110, the rest at +40/50 BST", async () => { await game.runToMysteryEncounter(MysteryEncounterType.WEIRD_DREAM, defaultParty); - const pokemonPrior = scene.getPlayerParty().map(pokemon => pokemon); + const pokemonPrior = scene.getPlayerParty().slice(); const bstsPrior = pokemonPrior.map(species => species.getSpeciesForm().getBaseStatTotal()); await runMysteryEncounterToEnd(game, 1); diff --git a/test/system/rename-run.test.ts b/test/system/rename-run.test.ts new file mode 100644 index 00000000000..5031d84245f --- /dev/null +++ b/test/system/rename-run.test.ts @@ -0,0 +1,82 @@ +import * as account from "#app/account"; +import * as bypassLoginModule from "#app/global-vars/bypass-login"; +import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; +import type { SessionSaveData } from "#app/system/game-data"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { GameManager } from "#test/test-utils/game-manager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("System - Rename Run", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([MoveId.SPLASH]) + .battleStyle("single") + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + describe("renameSession", () => { + beforeEach(() => { + vi.spyOn(bypassLoginModule, "bypassLogin", "get").mockReturnValue(false); + vi.spyOn(account, "updateUserInfo").mockImplementation(async () => [true, 1]); + }); + + it("should return false if slotId < 0", async () => { + const result = await game.scene.gameData.renameSession(-1, "Named Run"); + + expect(result).toEqual(false); + }); + + it("should return false if getSession returns null", async () => { + vi.spyOn(game.scene.gameData, "getSession").mockResolvedValue(null as unknown as SessionSaveData); + + const result = await game.scene.gameData.renameSession(-1, "Named Run"); + + expect(result).toEqual(false); + }); + + it("should return true if bypassLogin is true", async () => { + vi.spyOn(bypassLoginModule, "bypassLogin", "get").mockReturnValue(true); + vi.spyOn(game.scene.gameData, "getSession").mockResolvedValue({} as SessionSaveData); + + const result = await game.scene.gameData.renameSession(0, "Named Run"); + + expect(result).toEqual(true); + }); + + it("should return false if api returns error", async () => { + vi.spyOn(game.scene.gameData, "getSession").mockResolvedValue({} as SessionSaveData); + vi.spyOn(pokerogueApi.savedata.session, "update").mockResolvedValue("Unknown Error!"); + + const result = await game.scene.gameData.renameSession(0, "Named Run"); + + expect(result).toEqual(false); + }); + + it("should return true if api is succesfull", async () => { + vi.spyOn(game.scene.gameData, "getSession").mockResolvedValue({} as SessionSaveData); + vi.spyOn(pokerogueApi.savedata.session, "update").mockResolvedValue(""); + + const result = await game.scene.gameData.renameSession(0, "Named Run"); + + expect(result).toEqual(true); + expect(account.updateUserInfo).toHaveBeenCalled(); + }); + }); +}); diff --git a/test/test-utils/game-manager.ts b/test/test-utils/game-manager.ts index f952557bb69..05b3be21d26 100644 --- a/test/test-utils/game-manager.ts +++ b/test/test-utils/game-manager.ts @@ -224,7 +224,7 @@ export class GameManager { // This will consider all battle entry dialog as seens and skip them vi.spyOn(this.scene.ui, "shouldSkipDialogue").mockReturnValue(true); - if (overrides.OPP_HELD_ITEMS_OVERRIDE.length === 0) { + if (overrides.ENEMY_HELD_ITEMS_OVERRIDE.length === 0) { this.removeEnemyHeldItems(); } diff --git a/test/test-utils/helpers/challenge-mode-helper.ts b/test/test-utils/helpers/challenge-mode-helper.ts index 3952685a560..a8a9ff89de6 100644 --- a/test/test-utils/helpers/challenge-mode-helper.ts +++ b/test/test-utils/helpers/challenge-mode-helper.ts @@ -50,7 +50,7 @@ export class ChallengeModeHelper extends GameManagerHelper { }); await this.game.phaseInterceptor.run(EncounterPhase); - if (overrides.OPP_HELD_ITEMS_OVERRIDE.length === 0 && this.game.override.removeEnemyStartingItems) { + if (overrides.ENEMY_HELD_ITEMS_OVERRIDE.length === 0 && this.game.override.removeEnemyStartingItems) { this.game.removeEnemyHeldItems(); } } diff --git a/test/test-utils/helpers/classic-mode-helper.ts b/test/test-utils/helpers/classic-mode-helper.ts index 5d73dc07615..008648fcd0d 100644 --- a/test/test-utils/helpers/classic-mode-helper.ts +++ b/test/test-utils/helpers/classic-mode-helper.ts @@ -53,7 +53,7 @@ export class ClassicModeHelper extends GameManagerHelper { }); await this.game.phaseInterceptor.to(EncounterPhase); - if (overrides.OPP_HELD_ITEMS_OVERRIDE.length === 0 && this.game.override.removeEnemyStartingItems) { + if (overrides.ENEMY_HELD_ITEMS_OVERRIDE.length === 0 && this.game.override.removeEnemyStartingItems) { this.game.removeEnemyHeldItems(); } } diff --git a/test/test-utils/helpers/daily-mode-helper.ts b/test/test-utils/helpers/daily-mode-helper.ts index 7aa1e699118..ca882eaf548 100644 --- a/test/test-utils/helpers/daily-mode-helper.ts +++ b/test/test-utils/helpers/daily-mode-helper.ts @@ -37,7 +37,7 @@ export class DailyModeHelper extends GameManagerHelper { await this.game.phaseInterceptor.to(EncounterPhase); - if (overrides.OPP_HELD_ITEMS_OVERRIDE.length === 0 && this.game.override.removeEnemyStartingItems) { + if (overrides.ENEMY_HELD_ITEMS_OVERRIDE.length === 0 && this.game.override.removeEnemyStartingItems) { this.game.removeEnemyHeldItems(); } } diff --git a/test/test-utils/helpers/move-helper.ts b/test/test-utils/helpers/move-helper.ts index 6a01e4110da..3d5e9ae6af9 100644 --- a/test/test-utils/helpers/move-helper.ts +++ b/test/test-utils/helpers/move-helper.ts @@ -228,8 +228,8 @@ export class MoveHelper extends GameManagerHelper { console.warn("Player moveset override disabled due to use of `game.move.changeMoveset`!"); } } else { - if (coerceArray(Overrides.OPP_MOVESET_OVERRIDE).length > 0) { - vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([]); + if (coerceArray(Overrides.ENEMY_MOVESET_OVERRIDE).length > 0) { + vi.spyOn(Overrides, "ENEMY_MOVESET_OVERRIDE", "get").mockReturnValue([]); console.warn("Enemy moveset override disabled due to use of `game.move.changeMoveset`!"); } } @@ -302,8 +302,8 @@ export class MoveHelper extends GameManagerHelper { (this.game.scene.phaseManager.getCurrentPhase() as EnemyCommandPhase).getFieldIndex() ]; - if ([Overrides.OPP_MOVESET_OVERRIDE].flat().length > 0) { - vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([]); + if ([Overrides.ENEMY_MOVESET_OVERRIDE].flat().length > 0) { + vi.spyOn(Overrides, "ENEMY_MOVESET_OVERRIDE", "get").mockReturnValue([]); console.warn( "Warning: `forceEnemyMove` overwrites the Pokemon's moveset and disables the enemy moveset override!", ); diff --git a/test/test-utils/helpers/overrides-helper.ts b/test/test-utils/helpers/overrides-helper.ts index d67ceedf891..93b89688935 100644 --- a/test/test-utils/helpers/overrides-helper.ts +++ b/test/test-utils/helpers/overrides-helper.ts @@ -406,7 +406,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemySpecies(species: SpeciesId | number): this { - vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(species); + vi.spyOn(Overrides, "ENEMY_SPECIES_OVERRIDE", "get").mockReturnValue(species); this.log(`Enemy Pokemon species set to ${SpeciesId[species]} (=${species})!`); return this; } @@ -416,7 +416,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enableEnemyFusion(): this { - vi.spyOn(Overrides, "OPP_FUSION_OVERRIDE", "get").mockReturnValue(true); + vi.spyOn(Overrides, "ENEMY_FUSION_OVERRIDE", "get").mockReturnValue(true); this.log("Enemy Pokemon is a random fusion!"); return this; } @@ -427,7 +427,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyFusionSpecies(species: SpeciesId | number): this { - vi.spyOn(Overrides, "OPP_FUSION_SPECIES_OVERRIDE", "get").mockReturnValue(species); + vi.spyOn(Overrides, "ENEMY_FUSION_SPECIES_OVERRIDE", "get").mockReturnValue(species); this.log(`Enemy Pokemon fusion species set to ${SpeciesId[species]} (=${species})!`); return this; } @@ -438,7 +438,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyAbility(ability: AbilityId): this { - vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(ability); + vi.spyOn(Overrides, "ENEMY_ABILITY_OVERRIDE", "get").mockReturnValue(ability); this.log(`Enemy Pokemon ability set to ${AbilityId[ability]} (=${ability})!`); return this; } @@ -449,7 +449,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyPassiveAbility(passiveAbility: AbilityId): this { - vi.spyOn(Overrides, "OPP_PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(passiveAbility); + vi.spyOn(Overrides, "ENEMY_PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(passiveAbility); this.log(`Enemy Pokemon PASSIVE ability set to ${AbilityId[passiveAbility]} (=${passiveAbility})!`); return this; } @@ -460,7 +460,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyHasPassiveAbility(hasPassiveAbility: boolean | null): this { - vi.spyOn(Overrides, "OPP_HAS_PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(hasPassiveAbility); + vi.spyOn(Overrides, "ENEMY_HAS_PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(hasPassiveAbility); if (hasPassiveAbility === null) { this.log("Enemy Pokemon PASSIVE ability no longer force enabled or disabled!"); } else { @@ -475,7 +475,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyMoveset(moveset: MoveId | MoveId[]): this { - vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue(moveset); + vi.spyOn(Overrides, "ENEMY_MOVESET_OVERRIDE", "get").mockReturnValue(moveset); moveset = coerceArray(moveset); const movesetStr = moveset.map(moveId => MoveId[moveId]).join(", "); this.log(`Enemy Pokemon moveset set to ${movesetStr} (=[${moveset.join(", ")}])!`); @@ -488,7 +488,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyLevel(level: number): this { - vi.spyOn(Overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(level); + vi.spyOn(Overrides, "ENEMY_LEVEL_OVERRIDE", "get").mockReturnValue(level); this.log(`Enemy Pokemon level set to ${level}!`); return this; } @@ -499,7 +499,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyStatusEffect(statusEffect: StatusEffect): this { - vi.spyOn(Overrides, "OPP_STATUS_OVERRIDE", "get").mockReturnValue(statusEffect); + vi.spyOn(Overrides, "ENEMY_STATUS_OVERRIDE", "get").mockReturnValue(statusEffect); this.log(`Enemy Pokemon status-effect set to ${StatusEffect[statusEffect]} (=${statusEffect})!`); return this; } @@ -510,7 +510,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyHeldItems(items: ModifierOverride[]): this { - vi.spyOn(Overrides, "OPP_HELD_ITEMS_OVERRIDE", "get").mockReturnValue(items); + vi.spyOn(Overrides, "ENEMY_HELD_ITEMS_OVERRIDE", "get").mockReturnValue(items); this.log("Enemy Pokemon held items set to:", items); return this; } @@ -571,7 +571,7 @@ export class OverridesHelper extends GameManagerHelper { * @param variant - (Optional) The enemy's shiny {@linkcode Variant}. */ enemyShiny(shininess: boolean | null, variant?: Variant): this { - vi.spyOn(Overrides, "OPP_SHINY_OVERRIDE", "get").mockReturnValue(shininess); + vi.spyOn(Overrides, "ENEMY_SHINY_OVERRIDE", "get").mockReturnValue(shininess); if (shininess === null) { this.log("Disabled enemy Pokemon shiny override!"); } else { @@ -579,7 +579,7 @@ export class OverridesHelper extends GameManagerHelper { } if (variant !== undefined) { - vi.spyOn(Overrides, "OPP_VARIANT_OVERRIDE", "get").mockReturnValue(variant); + vi.spyOn(Overrides, "ENEMY_VARIANT_OVERRIDE", "get").mockReturnValue(variant); this.log(`Set enemy shiny variant to be ${variant}!`); } return this; @@ -594,7 +594,7 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public enemyHealthSegments(healthSegments: number): this { - vi.spyOn(Overrides, "OPP_HEALTH_SEGMENTS_OVERRIDE", "get").mockReturnValue(healthSegments); + vi.spyOn(Overrides, "ENEMY_HEALTH_SEGMENTS_OVERRIDE", "get").mockReturnValue(healthSegments); this.log("Enemy Pokemon health segments set to:", healthSegments); return this; } diff --git a/test/test-utils/matchers/to-equal-array-unsorted.ts b/test/test-utils/matchers/to-equal-array-unsorted.ts index 846ea9e7779..97398689032 100644 --- a/test/test-utils/matchers/to-equal-array-unsorted.ts +++ b/test/test-utils/matchers/to-equal-array-unsorted.ts @@ -1,4 +1,5 @@ import { getOnelineDiffStr } from "#test/test-utils/string-utils"; +import { receivedStr } from "#test/test-utils/test-utils"; import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; /** @@ -14,22 +15,22 @@ export function toEqualArrayUnsorted( ): SyncExpectationResult { if (!Array.isArray(received)) { return { - pass: false, - message: () => `Expected an array, but got ${this.utils.stringify(received)}!`, + pass: this.isNot, + message: () => `Expected to receive an array, but got ${receivedStr(received)}!`, }; } if (received.length !== expected.length) { return { pass: false, - message: () => `Expected to receive array of length ${received.length}, but got ${expected.length} instead!`, - actual: received, + message: () => `Expected to receive an array of length ${received.length}, but got ${expected.length} instead!`, expected, + actual: received, }; } - const actualSorted = received.slice().sort(); - const expectedSorted = expected.slice().sort(); + const actualSorted = received.toSorted(); + const expectedSorted = expected.toSorted(); const pass = this.equals(actualSorted, expectedSorted, [...this.customTesters, this.utils.iterableEquality]); const actualStr = getOnelineDiffStr.call(this, actualSorted); diff --git a/test/test-utils/matchers/to-have-ability-applied.ts b/test/test-utils/matchers/to-have-ability-applied.ts index a3921e6371c..1ed74410de0 100644 --- a/test/test-utils/matchers/to-have-ability-applied.ts +++ b/test/test-utils/matchers/to-have-ability-applied.ts @@ -21,8 +21,8 @@ export function toHaveAbilityApplied( ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, - message: () => `Expected to recieve a Pokemon, but got ${receivedStr(received)}!`, + pass: this.isNot, + message: () => `Expected to receive a Pokemon, but got ${receivedStr(received)}!`, }; } diff --git a/test/test-utils/matchers/to-have-arena-tag.ts b/test/test-utils/matchers/to-have-arena-tag.ts new file mode 100644 index 00000000000..dee7c133f25 --- /dev/null +++ b/test/test-utils/matchers/to-have-arena-tag.ts @@ -0,0 +1,77 @@ +import type { ArenaTag, ArenaTagTypeMap } from "#data/arena-tag"; +import type { ArenaTagSide } from "#enums/arena-tag-side"; +import type { ArenaTagType } from "#enums/arena-tag-type"; +import type { OneOther } from "#test/@types/test-helpers"; +// biome-ignore lint/correctness/noUnusedImports: TSDoc +import type { GameManager } from "#test/test-utils/game-manager"; +import { getOnelineDiffStr } from "#test/test-utils/string-utils"; +import { isGameManagerInstance, receivedStr } from "#test/test-utils/test-utils"; +import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; + +// intersection required to preserve T for inferences +export type toHaveArenaTagOptions = OneOther & { + tagType: T; +}; + +/** + * Matcher to check if the {@linkcode Arena} has a given {@linkcode ArenaTag} active. + * @param received - The object to check. Should be the current {@linkcode GameManager}. + * @param expectedTag - The `ArenaTagType` of the desired tag, or a partially-filled object + * containing the desired properties + * @param side - The {@linkcode ArenaTagSide | side of the field} the tag should affect, or + * {@linkcode ArenaTagSide.BOTH} to check both sides + * @returns The result of the matching + */ +export function toHaveArenaTag( + this: MatcherState, + received: unknown, + expectedTag: T | toHaveArenaTagOptions, + side?: ArenaTagSide, +): SyncExpectationResult { + if (!isGameManagerInstance(received)) { + return { + pass: this.isNot, + message: () => `Expected to receive a GameManager, but got ${receivedStr(received)}!`, + }; + } + + if (!received.scene?.arena) { + return { + pass: this.isNot, + message: () => `Expected GameManager.${received.scene ? "scene.arena" : "scene"} to be defined!`, + }; + } + + // Coerce lone `tagType`s into objects + // Bangs are ok as we enforce safety via overloads + // @ts-expect-error - Typescript is being stupid as tag type and side will always exist + const etag: Partial & { tagType: T; side: ArenaTagSide } = + typeof expectedTag === "object" ? expectedTag : { tagType: expectedTag, side: side! }; + + // We need to get all tags for the case of checking properties of a tag present on both sides of the arena + const tags = received.scene.arena.findTagsOnSide(t => t.tagType === etag.tagType, etag.side); + if (tags.length === 0) { + return { + pass: false, + message: () => `Expected the Arena to have a tag of type ${etag.tagType}, but it didn't!`, + expected: etag.tagType, + actual: received.scene.arena.tags.map(t => t.tagType), + }; + } + + // Pass if any of the matching tags meet our criteria + const pass = tags.some(tag => + this.equals(tag, expectedTag, [...this.customTesters, this.utils.subsetEquality, this.utils.iterableEquality]), + ); + + const expectedStr = getOnelineDiffStr.call(this, expectedTag); + return { + pass, + message: () => + pass + ? `Expected the Arena to NOT have a tag matching ${expectedStr}, but it did!` + : `Expected the Arena to have a tag matching ${expectedStr}, but it didn't!`, + expected: expectedTag, + actual: tags, + }; +} diff --git a/test/test-utils/matchers/to-have-effective-stat.ts b/test/test-utils/matchers/to-have-effective-stat.ts index bc10a646c02..dda6bc7e91e 100644 --- a/test/test-utils/matchers/to-have-effective-stat.ts +++ b/test/test-utils/matchers/to-have-effective-stat.ts @@ -6,7 +6,7 @@ import { getStatName } from "#test/test-utils/string-utils"; import { isPokemonInstance, receivedStr } from "#test/test-utils/test-utils"; import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; -export interface ToHaveEffectiveStatMatcherOptions { +export interface toHaveEffectiveStatOptions { /** * The target {@linkcode Pokemon} * @see {@linkcode Pokemon.getEffectiveStat} @@ -30,7 +30,7 @@ export interface ToHaveEffectiveStatMatcherOptions { * @param received - The object to check. Should be a {@linkcode Pokemon} * @param stat - The {@linkcode EffectiveStat} to check * @param expectedValue - The expected value of the {@linkcode stat} - * @param options - The {@linkcode ToHaveEffectiveStatMatcherOptions} + * @param options - The {@linkcode toHaveEffectiveStatOptions} * @returns Whether the matcher passed */ export function toHaveEffectiveStat( @@ -38,11 +38,11 @@ export function toHaveEffectiveStat( received: unknown, stat: EffectiveStat, expectedValue: number, - { enemy, move, isCritical = false }: ToHaveEffectiveStatMatcherOptions = {}, + { enemy, move, isCritical = false }: toHaveEffectiveStatOptions = {}, ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } diff --git a/test/test-utils/matchers/to-have-fainted.ts b/test/test-utils/matchers/to-have-fainted.ts index 73ca96a31b5..f3e84e7a425 100644 --- a/test/test-utils/matchers/to-have-fainted.ts +++ b/test/test-utils/matchers/to-have-fainted.ts @@ -12,7 +12,7 @@ import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; export function toHaveFainted(this: MatcherState, received: unknown): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } diff --git a/test/test-utils/matchers/to-have-full-hp.ts b/test/test-utils/matchers/to-have-full-hp.ts index 3d7c8f9458d..893bb647283 100644 --- a/test/test-utils/matchers/to-have-full-hp.ts +++ b/test/test-utils/matchers/to-have-full-hp.ts @@ -12,7 +12,7 @@ import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; export function toHaveFullHp(this: MatcherState, received: unknown): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } diff --git a/test/test-utils/matchers/to-have-hp.ts b/test/test-utils/matchers/to-have-hp.ts index 20d171b23ce..e6463383ac2 100644 --- a/test/test-utils/matchers/to-have-hp.ts +++ b/test/test-utils/matchers/to-have-hp.ts @@ -13,7 +13,7 @@ import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; export function toHaveHp(this: MatcherState, received: unknown, expectedHp: number): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } diff --git a/test/test-utils/matchers/to-have-positional-tag.ts b/test/test-utils/matchers/to-have-positional-tag.ts new file mode 100644 index 00000000000..448339d6a8d --- /dev/null +++ b/test/test-utils/matchers/to-have-positional-tag.ts @@ -0,0 +1,107 @@ +// biome-ignore-start lint/correctness/noUnusedImports: TSDoc +import type { GameManager } from "#test/test-utils/game-manager"; +// biome-ignore-end lint/correctness/noUnusedImports: TSDoc + +import type { serializedPosTagMap } from "#data/positional-tags/load-positional-tag"; +import type { PositionalTagType } from "#enums/positional-tag-type"; +import type { OneOther } from "#test/@types/test-helpers"; +import { getOnelineDiffStr } from "#test/test-utils/string-utils"; +import { isGameManagerInstance, receivedStr } from "#test/test-utils/test-utils"; +import { toTitleCase } from "#utils/strings"; +import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; + +export type toHavePositionalTagOptions

= OneOther & { + tagType: P; +}; + +/** + * Matcher to check if the {@linkcode Arena} has a certain number of {@linkcode PositionalTag}s active. + * @param received - The object to check. Should be the current {@linkcode GameManager} + * @param expectedTag - The {@linkcode PositionalTagType} of the desired tag, or a partially-filled {@linkcode PositionalTag} + * containing the desired properties + * @param count - The number of tags that should be active; defaults to `1` and must be within the range `[0, 4]` + * @returns The result of the matching + */ +export function toHavePositionalTag

( + this: MatcherState, + received: unknown, + expectedTag: P | toHavePositionalTagOptions

, + count = 1, +): SyncExpectationResult { + if (!isGameManagerInstance(received)) { + return { + pass: this.isNot, + message: () => `Expected to receive a GameManager, but got ${receivedStr(received)}!`, + }; + } + + if (!received.scene?.arena?.positionalTagManager) { + return { + pass: this.isNot, + message: () => + `Expected GameManager.${received.scene?.arena ? "scene.arena.positionalTagManager" : received.scene ? "scene.arena" : "scene"} to be defined!`, + }; + } + + // TODO: Increase limit if triple battles are added + if (count < 0 || count > 4) { + return { + pass: this.isNot, + message: () => `Expected count to be between 0 and 4, but got ${count} instead!`, + }; + } + + const allTags = received.scene.arena.positionalTagManager.tags; + const tagType = typeof expectedTag === "string" ? expectedTag : expectedTag.tagType; + const matchingTags = allTags.filter(t => t.tagType === tagType); + + // If checking exclusively tag type, check solely the number of matching tags on field + if (typeof expectedTag === "string") { + const pass = matchingTags.length === count; + const expectedStr = getPosTagStr(expectedTag); + + return { + pass, + message: () => + pass + ? `Expected the Arena to NOT have ${count} ${expectedStr} active, but it did!` + : `Expected the Arena to have ${count} ${expectedStr} active, but got ${matchingTags.length} instead!`, + expected: expectedTag, + actual: allTags, + }; + } + + // Check for equality with the provided object + if (matchingTags.length === 0) { + return { + pass: false, + message: () => `Expected the Arena to have a tag of type ${expectedTag.tagType}, but it didn't!`, + expected: expectedTag.tagType, + actual: received.scene.arena.tags.map(t => t.tagType), + }; + } + + // Pass if any of the matching tags meet the criteria + const pass = matchingTags.some(tag => + this.equals(tag, expectedTag, [...this.customTesters, this.utils.subsetEquality, this.utils.iterableEquality]), + ); + + const expectedStr = getOnelineDiffStr.call(this, expectedTag); + return { + pass, + message: () => + pass + ? `Expected the Arena to NOT have a tag matching ${expectedStr}, but it did!` + : `Expected the Arena to have a tag matching ${expectedStr}, but it didn't!`, + expected: expectedTag, + actual: matchingTags, + }; +} + +function getPosTagStr(pType: PositionalTagType, count = 1): string { + let ret = toTitleCase(pType) + "Tag"; + if (count > 1) { + ret += "s"; + } + return ret; +} diff --git a/test/test-utils/matchers/to-have-stat-stage.ts b/test/test-utils/matchers/to-have-stat-stage.ts index feecd650bef..a9ae910aece 100644 --- a/test/test-utils/matchers/to-have-stat-stage.ts +++ b/test/test-utils/matchers/to-have-stat-stage.ts @@ -23,14 +23,14 @@ export function toHaveStatStage( ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } if (expectedStage < -6 || expectedStage > 6) { return { - pass: false, + pass: this.isNot, message: () => `Expected ${expectedStage} to be within the range [-6, 6]!`, }; } diff --git a/test/test-utils/matchers/to-have-status-effect.ts b/test/test-utils/matchers/to-have-status-effect.ts index a46800632f3..fa5f0346ebd 100644 --- a/test/test-utils/matchers/to-have-status-effect.ts +++ b/test/test-utils/matchers/to-have-status-effect.ts @@ -28,7 +28,7 @@ export function toHaveStatusEffect( ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } @@ -37,10 +37,8 @@ export function toHaveStatusEffect( const actualEffect = received.status?.effect ?? StatusEffect.NONE; // Check exclusively effect equality first, coercing non-matching status effects to numbers. - if (actualEffect !== (expectedStatus as Exclude)?.effect) { - // This is actually 100% safe as `expectedStatus?.effect` will evaluate to `undefined` if a StatusEffect was passed, - // which will never match actualEffect by definition - expectedStatus = (expectedStatus as Exclude).effect; + if (typeof expectedStatus === "object" && actualEffect !== expectedStatus.effect) { + expectedStatus = expectedStatus.effect; } if (typeof expectedStatus === "number") { diff --git a/test/test-utils/matchers/to-have-taken-damage.ts b/test/test-utils/matchers/to-have-taken-damage.ts index 77c60ae836a..55c163a2dc7 100644 --- a/test/test-utils/matchers/to-have-taken-damage.ts +++ b/test/test-utils/matchers/to-have-taken-damage.ts @@ -24,7 +24,7 @@ export function toHaveTakenDamage( ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } diff --git a/test/test-utils/matchers/to-have-terrain.ts b/test/test-utils/matchers/to-have-terrain.ts index 292c32abafc..f951abed0b3 100644 --- a/test/test-utils/matchers/to-have-terrain.ts +++ b/test/test-utils/matchers/to-have-terrain.ts @@ -20,15 +20,15 @@ export function toHaveTerrain( ): SyncExpectationResult { if (!isGameManagerInstance(received)) { return { - pass: false, - message: () => `Expected GameManager, but got ${receivedStr(received)}!`, + pass: this.isNot, + message: () => `Expected to receive a GameManager, but got ${receivedStr(received)}!`, }; } if (!received.scene?.arena) { return { - pass: false, - message: () => `Expected GameManager.${received.scene ? "scene" : "scene.arena"} to be defined!`, + pass: this.isNot, + message: () => `Expected GameManager.${received.scene ? "scene.arena" : "scene"} to be defined!`, }; } @@ -41,8 +41,8 @@ export function toHaveTerrain( pass, message: () => pass - ? `Expected Arena to NOT have ${expectedStr} active, but it did!` - : `Expected Arena to have ${expectedStr} active, but got ${actualStr} instead!`, + ? `Expected the Arena to NOT have ${expectedStr} active, but it did!` + : `Expected the Arena to have ${expectedStr} active, but got ${actualStr} instead!`, expected: expectedTerrainType, actual, }; diff --git a/test/test-utils/matchers/to-have-types.ts b/test/test-utils/matchers/to-have-types.ts index 3f16f740583..1c13fc083ae 100644 --- a/test/test-utils/matchers/to-have-types.ts +++ b/test/test-utils/matchers/to-have-types.ts @@ -7,10 +7,16 @@ import { isPokemonInstance, receivedStr } from "../test-utils"; export interface toHaveTypesOptions { /** - * Whether to enforce exact matches (`true`) or superset matches (`false`). - * @defaultValue `true` + * Value dictating the strength of the enforced typing match. + * + * Possible values (in ascending order of strength) are: + * - `"ordered"`: Enforce that the {@linkcode Pokemon}'s types are identical **and in the same order** + * - `"unordered"`: Enforce that the {@linkcode Pokemon}'s types are identical **without checking order** + * - `"superset"`: Enforce that the {@linkcode Pokemon}'s types are **a superset of** the expected types + * (all must be present, but extras can be there) + * @defaultValue `"unordered"` */ - exact?: boolean; + mode?: "ordered" | "unordered" | "superset"; /** * Optional arguments to pass to {@linkcode Pokemon.getTypes}. */ @@ -18,35 +24,54 @@ export interface toHaveTypesOptions { } /** - * Matcher that checks if an array contains exactly the given items, disregarding order. - * @param received - The object to check. Should be an array of one or more {@linkcode PokemonType}s. - * @param options - The {@linkcode toHaveTypesOptions | options} for this matcher + * Matcher that checks if a Pokemon's typing is as expected. + * @param received - The object to check. Should be a {@linkcode Pokemon} + * @param expectedTypes - An array of one or more {@linkcode PokemonType}s to compare against. + * @param mode - The mode to perform the matching in. + * Possible values (in ascending order of strength) are: + * - `"ordered"`: Enforce that the {@linkcode Pokemon}'s types are identical **and in the same order** + * - `"unordered"`: Enforce that the {@linkcode Pokemon}'s types are identical **without checking order** + * - `"superset"`: Enforce that the {@linkcode Pokemon}'s types are **a superset of** the expected types + * (all must be present, but extras can be there) + * + * Default `unordered` + * @param args - Extra arguments passed to {@linkcode Pokemon.getTypes} * @returns The result of the matching */ export function toHaveTypes( this: MatcherState, received: unknown, - expected: [PokemonType, ...PokemonType[]], - options: toHaveTypesOptions = {}, + expectedTypes: [PokemonType, ...PokemonType[]], + { mode = "unordered", args = [] }: toHaveTypesOptions = {}, ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, - message: () => `Expected to recieve a Pokémon, but got ${receivedStr(received)}!`, + pass: this.isNot, + message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } - const actualTypes = received.getTypes(...(options.args ?? [])).sort(); - const expectedTypes = expected.slice().sort(); + // Return early if no types were passed in + if (expectedTypes.length === 0) { + return { + pass: this.isNot, + message: () => "Expected to receive a non-empty array of PokemonTypes!", + }; + } + + // Avoid sorting the types if strict ordering is desired + const actualSorted = mode === "ordered" ? received.getTypes(...args) : received.getTypes(...args).toSorted(); + const expectedSorted = mode === "ordered" ? expectedTypes : expectedTypes.toSorted(); // Exact matches do not care about subset equality - const matchers = options.exact - ? [...this.customTesters, this.utils.iterableEquality] - : [...this.customTesters, this.utils.subsetEquality, this.utils.iterableEquality]; - const pass = this.equals(actualTypes, expectedTypes, matchers); + const matchers = + mode === "superset" + ? [...this.customTesters, this.utils.iterableEquality] + : [...this.customTesters, this.utils.subsetEquality, this.utils.iterableEquality]; + const pass = this.equals(actualSorted, expectedSorted, matchers); - const actualStr = stringifyEnumArray(PokemonType, actualTypes); - const expectedStr = stringifyEnumArray(PokemonType, expectedTypes); + const actualStr = stringifyEnumArray(PokemonType, actualSorted); + const expectedStr = stringifyEnumArray(PokemonType, expectedSorted); const pkmName = getPokemonNameWithAffix(received); return { @@ -55,7 +80,7 @@ export function toHaveTypes( pass ? `Expected ${pkmName} to NOT have types ${expectedStr}, but it did!` : `Expected ${pkmName} to have types ${expectedStr}, but got ${actualStr} instead!`, - expected: expectedTypes, - actual: actualTypes, + expected: expectedSorted, + actual: actualSorted, }; } diff --git a/test/test-utils/matchers/to-have-used-move.ts b/test/test-utils/matchers/to-have-used-move.ts index ef90e4dbad9..3697b3e0bc6 100644 --- a/test/test-utils/matchers/to-have-used-move.ts +++ b/test/test-utils/matchers/to-have-used-move.ts @@ -13,7 +13,7 @@ import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; /** * Matcher to check the contents of a {@linkcode Pokemon}'s move history. * @param received - The actual value received. Should be a {@linkcode Pokemon} - * @param expectedValue - The {@linkcode MoveId} the Pokemon is expected to have used, + * @param expectedMove - The {@linkcode MoveId} the Pokemon is expected to have used, * or a partially filled {@linkcode TurnMove} containing the desired properties to check * @param index - The index of the move history entry to check, in order from most recent to least recent. * Default `0` (last used move) @@ -22,12 +22,12 @@ import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; export function toHaveUsedMove( this: MatcherState, received: unknown, - expectedResult: MoveId | AtLeastOne, + expectedMove: MoveId | AtLeastOne, index = 0, ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } @@ -37,34 +37,33 @@ export function toHaveUsedMove( if (move === undefined) { return { - pass: false, + pass: this.isNot, message: () => `Expected ${pkmName} to have used ${index + 1} moves, but it didn't!`, actual: received.getLastXMoves(-1), }; } // Coerce to a `TurnMove` - if (typeof expectedResult === "number") { - expectedResult = { move: expectedResult }; + if (typeof expectedMove === "number") { + expectedMove = { move: expectedMove }; } const moveIndexStr = index === 0 ? "last move" : `${getOrdinal(index)} most recent move`; - const pass = this.equals(move, expectedResult, [ + const pass = this.equals(move, expectedMove, [ ...this.customTesters, this.utils.subsetEquality, this.utils.iterableEquality, ]); - const expectedStr = getOnelineDiffStr.call(this, expectedResult); + const expectedStr = getOnelineDiffStr.call(this, expectedMove); return { pass, message: () => pass ? `Expected ${pkmName}'s ${moveIndexStr} to NOT match ${expectedStr}, but it did!` - : // Replace newlines with spaces to preserve one-line ness - `Expected ${pkmName}'s ${moveIndexStr} to match ${expectedStr}, but it didn't!`, - expected: expectedResult, + : `Expected ${pkmName}'s ${moveIndexStr} to match ${expectedStr}, but it didn't!`, + expected: expectedMove, actual: move, }; } diff --git a/test/test-utils/matchers/to-have-used-pp.ts b/test/test-utils/matchers/to-have-used-pp.ts index 3b606a535bc..4815cfcadab 100644 --- a/test/test-utils/matchers/to-have-used-pp.ts +++ b/test/test-utils/matchers/to-have-used-pp.ts @@ -13,7 +13,7 @@ import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; /** * Matcher to check the amount of PP consumed by a {@linkcode Pokemon}. * @param received - The actual value received. Should be a {@linkcode Pokemon} - * @param expectedValue - The {@linkcode MoveId} that should have consumed PP + * @param moveId - The {@linkcode MoveId} that should have consumed PP * @param ppUsed - The numerical amount of PP that should have been consumed, * or `all` to indicate the move should be _out_ of PP * @returns Whether the matcher passed @@ -23,35 +23,35 @@ import type { MatcherState, SyncExpectationResult } from "@vitest/expect"; export function toHaveUsedPP( this: MatcherState, received: unknown, - expectedMove: MoveId, + moveId: MoveId, ppUsed: number | "all", ): SyncExpectationResult { if (!isPokemonInstance(received)) { return { - pass: false, + pass: this.isNot, message: () => `Expected to receive a Pokémon, but got ${receivedStr(received)}!`, }; } - const override = received.isPlayer() ? Overrides.MOVESET_OVERRIDE : Overrides.OPP_MOVESET_OVERRIDE; + const override = received.isPlayer() ? Overrides.MOVESET_OVERRIDE : Overrides.ENEMY_MOVESET_OVERRIDE; if (coerceArray(override).length > 0) { return { - pass: false, + pass: this.isNot, message: () => `Cannot test for PP consumption with ${received.isPlayer() ? "player" : "enemy"} moveset overrides active!`, }; } const pkmName = getPokemonNameWithAffix(received); - const moveStr = getEnumStr(MoveId, expectedMove); + const moveStr = getEnumStr(MoveId, moveId); - const movesetMoves = received.getMoveset().filter(pm => pm.moveId === expectedMove); + const movesetMoves = received.getMoveset().filter(pm => pm.moveId === moveId); if (movesetMoves.length !== 1) { return { - pass: false, + pass: this.isNot, message: () => `Expected MoveId.${moveStr} to appear in ${pkmName}'s moveset exactly once, but got ${movesetMoves.length} times!`, - expected: expectedMove, + expected: moveId, actual: received.getMoveset(), }; } diff --git a/test/test-utils/matchers/to-have-weather.ts b/test/test-utils/matchers/to-have-weather.ts index 49433b2137b..ffb1e0aad97 100644 --- a/test/test-utils/matchers/to-have-weather.ts +++ b/test/test-utils/matchers/to-have-weather.ts @@ -20,15 +20,15 @@ export function toHaveWeather( ): SyncExpectationResult { if (!isGameManagerInstance(received)) { return { - pass: false, - message: () => `Expected GameManager, but got ${receivedStr(received)}!`, + pass: this.isNot, + message: () => `Expected to receive a GameManager, but got ${receivedStr(received)}!`, }; } if (!received.scene?.arena) { return { - pass: false, - message: () => `Expected GameManager.${received.scene ? "scene" : "scene.arena"} to be defined!`, + pass: this.isNot, + message: () => `Expected GameManager.${received.scene ? "scene.arena" : "scene"} to be defined!`, }; } @@ -41,8 +41,8 @@ export function toHaveWeather( pass, message: () => pass - ? `Expected Arena to NOT have ${expectedStr} weather active, but it did!` - : `Expected Arena to have ${expectedStr} weather active, but got ${actualStr} instead!`, + ? `Expected the Arena to NOT have ${expectedStr} weather active, but it did!` + : `Expected the Arena to have ${expectedStr} weather active, but got ${actualStr} instead!`, expected: expectedWeatherType, actual, }; diff --git a/test/test-utils/string-utils.ts b/test/test-utils/string-utils.ts index bd3dd7c2fa9..6c29c04c107 100644 --- a/test/test-utils/string-utils.ts +++ b/test/test-utils/string-utils.ts @@ -34,10 +34,10 @@ interface getEnumStrOptions { * @returns The stringified representation of `val` as dictated by the options. * @example * ```ts - * enum fakeEnum { - * ONE: 1, - * TWO: 2, - * THREE: 3, + * enum testEnum { + * ONE = 1, + * TWO = 2, + * THREE = 3, * } * getEnumStr(fakeEnum, fakeEnum.ONE); // Output: "ONE (=1)" * getEnumStr(fakeEnum, fakeEnum.TWO, {casing: "Title", prefix: "fakeEnum.", suffix: "!!!"}); // Output: "fakeEnum.TWO!!! (=2)" @@ -174,10 +174,14 @@ export function getStatName(s: Stat): string { * Convert an object into a oneline diff to be shown in an error message. * @param obj - The object to return the oneline diff of * @returns The updated diff + * @example + * ```ts + * const diff = getOnelineDiffStr.call(this, obj) + * ``` */ export function getOnelineDiffStr(this: MatcherState, obj: unknown): string { return this.utils .stringify(obj, undefined, { maxLength: 35, indent: 0, printBasicPrototype: false }) .replace(/\n/g, " ") // Replace newlines with spaces - .replace(/,(\s*)}$/g, "$1}"); + .replace(/,(\s*)}$/g, "$1}"); // Trim trailing commas }