diff --git a/.gitignore b/.gitignore index 9d96ed04a15..00df0002e01 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,8 @@ dist-ssr *.local # Editor directories and files -.vscode/* +.vscode +*.code-workspace .idea .DS_Store *.suo diff --git a/biome.jsonc b/biome.jsonc index a433470cd90..3385614635c 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -105,10 +105,10 @@ "linter": { "rules": { "performance": { - "noDelete": "off" + "noDelete": "off" // TODO: evaluate if this is necessary for the test(s) to function }, "style": { - "noNamespaceImport": "off" + "noNamespaceImport": "off" // this is required for `vi.spyOn` to work in some tests } } } diff --git a/docs/comments.md b/docs/comments.md index 9610052adf2..ba6c9929625 100644 --- a/docs/comments.md +++ b/docs/comments.md @@ -1,64 +1,107 @@ -## How do I comment my code? +# Commenting code -### While we're not enforcing a strict standard, there are some things to keep in mind: +People spend more time reading code than writing it (sometimes substantially more so). As such, comments and documentation are **vital** for any large codebase like this. + +## General Guidelines +While we're not enforcing a strict standard, here are some things to keep in mind: - Make comments meaningful - - Comments should be explaining why a line or block of code exists and what the reason behind it is - - Comments should not be repeating chunks of code or explaining what 'true' and 'false' means in typescript + - Comments should **NOT** repeat _what_ code _does_[^1] or explain concepts obvious to someone with a basic understanding of the language at hand. Instead, focus on explaining _why_ a line or block of code exists. + - Anyone with basic reading comprehension and a good IDE can figure out what code does; gaining a _post hoc_ understanding of the _reasons_ behind its existence takes a lot more digging, effort and bloodshed. +- Keep comments readable + - A comment's verbosity should roughly scale with the complexity of its subject matter. Some people naturally write shorter or longer comments as a personal style, but summarizing a 300 line function with "does a thing" is about as good as writing nothing. Conversely, writing a paragraph-level response where a basic one-liner would suffice is no less undesirable. + - Long comments should ideally be broken into multiple lines at around the 100-120 character mark. This isn't _mandatory_, but avoids unnecessary scrolling in terminals and IDEs. - Make sure comments exist on Functions, Classes, Methods, and Properties - - This may be the most important things to comment. When someone goes to use a function/class/method/etc., having a comment reduces the need to flip back and forth between files to figure out how something works. Peek Definition is great until you're three nested functions deep. - - The best example of this is JSDoc-style comments as seen below: - - When formatted this way, the comment gets shown by intellisense in VS Code or similar IDEs just by hovering over the text! - - Functions also show each the comment for parameter as you type them, making keeping track of what each one does in lengthy functions much more clear -```js -/** - * Changes the type-based weather modifier if this move's power would be reduced by it - * @param user {@linkcode Pokemon} using this move - * @param target {@linkcode Pokemon} target of this move - * @param move {@linkcode Move} being used - * @param args [0] {@linkcode Utils.NumberHolder} for arenaAttackTypeMultiplier - * @returns true if the function succeeds - */ -apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { -} + - These may be the most important things to comment. When someone goes to use a function/class/method/etc., having a comment reduces the need to flip back and forth between files to figure out what XYZ does. Peek Definition is great until you're three nested levels deep. -/** Set to true when experimental animated sprites from Gen6+ are used */ -public experimentalSprites: boolean = false; +[^1]: With exceptions for extremely long, convoluted or unintuitive methods (though an over-dependency on said comments is likely a symptom of poorly structured code). +# TSDoc +The codebase makes extensive use of [TSDoc](https://tsdoc.org), which is a TypeScript-specific version of [JSDoc](https://jsdoc.app/about-getting-started) +that uses similar syntax and attaches to functions, classes, etc. + +When formatted correctly, these comments are shown within VS Code or similar IDEs just by hovering over the function or object. +- Functions also show the comment for each parameter as you type them, making keeping track of arguments inside lengthy functions much more clear. + +They can also be used to generate a commentated overview of the codebase. There is a GitHub action that automatically updates [this docs site](https://pagefaultgames.github.io/pokerogue/main/index.html) +and you can generate it locally as well via `npm run docs` which will generate into the `typedoc/` directory. + +## Syntax +For an example of how TSDoc comments work, here are some TSDoc comments taken from `src/data/moves/move.ts`: +```ts /** - * Cures the user's party of non-volatile status conditions, ie. Heal Bell, Aromatherapy - * @extends MoveAttr - * @see {@linkcode apply} + * Attribute to put in a {@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(doll) | Substitute Doll} for the user. */ -export class DontHealThePartyPlsAttr extends MoveAttr { +export class AddSubstituteAttr extends MoveEffectAttr { + /** The ratio of the user's max HP that is required to apply this effect */ + private hpCost: number; + /** Whether the damage taken should be rounded up (Shed Tail rounds up) */ + private roundUp: boolean; + + constructor(hpCost: number, roundUp: boolean) { + // code removed + } + + /** + * Removes 1/4 of the user's maximum HP (rounded down) to create a substitute for the user + * @param user - The {@linkcode Pokemon} that used the move. + * @param target - n/a + * @param move - The {@linkcode Move} with this attribute. + * @param args - n/a + * @returns `true` if the attribute successfully applies, `false` otherwise + */ + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + // code removed + } + + getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { + // code removed + } + + getCondition(): MoveConditionFunc { + // code removed + } + + /** + * Get the substitute-specific failure message if one should be displayed. + * @param user - The pokemon using the move. + * @returns The substitute-specific failure message if the conditions apply, otherwise `undefined` + */ + getFailedText(user: Pokemon, _target: Pokemon, _move: Move): string | undefined { + // code removed + } } ``` -You'll notice this contains an `{@linkcode Object}` tag for each parameter. This provides an easy type denomination and hyperlink to that type using VS Code's Intellisense. `@linkcode` is used instead of `@link` so that the text appears in monospace which is more obviously a `type` rather than a random hyperlink. -If you're interested in going more in depth, you can find a reference guide for how comments like these work [here](https://jsdoc.app) +Looking at the example given, you'll notice this contains an `{@linkcode XYZ}` tag in some of the parameters. This provides a clickable hyperlink to that type or object in most modern IDEs. (`@linkcode` is used here instead of `@link` so that the text appears in monospace which is more obviously a `type` rather than a random hyperlink.) \ +Also note the dashes (` - `) between the parameter names and descriptions - these are **mandatory** under the TSDoc spec[^2]. + +If you're interested in going more in depth, you can find a reference guide for how comments like these work [on the TSDoc website](https://tsdoc.org). +The [playground page](https://tsdoc.org/play/) there can also be used for live testing of examples. + +[^2]: Incidentally, this is also the only place dashes are explicitly _required_. ### What not to do: - Don't leave comments for code you don't understand - - Incorrect information is worse than no information. If you aren't sure how something works, don't make something up to explain it. Ask for help instead. + - Incorrect information is worse than no information. If you aren't sure how something works, don't make something up to explain it - ask for help and/or mark it as TODO. - Don't over-comment - - Not everything needs an explanation. Try to summarize blocks of code instead of singular lines where possible. Single line comments should call out specific oddities. + - Not everything needs a comment. Try to summarize blocks of code instead of singular lines where possible, always preferring giving a reason over stating a fact. Single line comments should call out specific oddities or features. ## How do Abilities and Moves differ from other classes? While other classes should be fully documented, Abilities and Moves heavily incoperate inheritance (i.e. the `extends` keyword). Because of this, much of the functionality in these classes is duplicated or only slightly changed between classes. ### With this in mind, there's a few more things to keep in mind for these: - Do not document any parameters if the function mirrors the one they extend. - - Keep this in mind for functions that are not the `apply` function as they are usually sparce and mostly reused -- The class itself must be documented - - This must include the `@extends BaseClass` and `@see {@linkcode apply}` tags + - Keep this in mind for functions that are not the `apply` function as they are usually sparse and mostly reused - Class member variables must be documented - You can use a single line documentation comment for these `/** i.e. a comment like this */` - `args` parameters must be documented if used - - This should look something like this when there are multiple: + - This should look something vaguely like this when there are multiple: ```ts /** ... - * @param args [0] {@linkcode Utils.NumberHolder} of arenaAttackTypeMultiplier - * [1] {@linkcode Utils.BooleanHolder} of cancelled - * [2] {@linkcode Utils.BooleanHolder} of rWeDoneYet + * @param args - + * `[0]` The {@linkcode Move} being used + * `[1]` A {@linkcode BooleanHolder} used to track XYZ + * `[2]` {@linkcode BooleanHolder} `paramC` - paramC description here ... */ -``` \ No newline at end of file +``` diff --git a/docs/enemy-ai.md b/docs/enemy-ai.md index 8edf5a3f10e..d73b0af980e 100644 --- a/docs/enemy-ai.md +++ b/docs/enemy-ai.md @@ -37,12 +37,12 @@ The `EnemyCommandPhase` follows this process to determine whether or not an enem 1. If the Pokémon has a move already queued (e.g. they are recharging after using Hyper Beam), or they are trapped (e.g. by Bind or Arena Trap), skip to resolving a `FIGHT` command (see next section). 2. For each Pokémon in the enemy's party, [compute their matchup scores](#calculating-matchup-scores) against the active player Pokémon. If there are two active player Pokémon in the battle, add their matchup scores together. 3. Take the party member with the highest matchup score and apply a multiplier to the score that reduces the score based on how frequently the enemy trainer has switched Pokémon in the current battle. - - The multiplier scales off of a counter that increments when the enemy trainer chooses to switch a Pokémon and decrements when they choose to use a move. + - The multiplier scales off of a counter that increments when the enemy trainer chooses to switch a Pokémon and decrements when they choose to use a move. 4. Compare the result of Step 3 with the active enemy Pokémon's matchup score. If the party member's matchup score is at least three times that of the active Pokémon, switch to that party member. - - "Boss" trainers only require the party member's matchup score to be at least two times that of the active Pokémon, so they are more likely to switch than other trainers. The full list of boss trainers in the game is as follows: - - All gym leaders, Elite 4 members, and Champions - - All Evil Team leaders - - The last three Rival Fights (on waves 95, 145, and 195) + - "Boss" trainers only require the party member's matchup score to be at least two times that of the active Pokémon, so they are more likely to switch than other trainers. The full list of boss trainers in the game is as follows: + - All gym leaders, Elite 4 members, and Champions + - All Evil Team leaders + - The last three Rival Fights (on waves 95, 145, and 195) 5. If the enemy decided to switch, send a switch `turnCommand` and end this `EnemyCommandPhase`; otherwise, move on to resolving a `FIGHT` enemy command. ## Step 2: Selecting a Move @@ -54,28 +54,35 @@ At this point, the enemy (a wild or trainer Pokémon) has decided against switch In `getNextMove()`, the enemy Pokémon chooses a move to use in the following steps: 1. If the Pokémon has a move in its Move Queue (e.g. the second turn of a charging move), and the queued move is still usable, use that move against the given target. 2. Filter out any moves it can't use within its moveset. The remaining moves make up the enemy's **move pool** for the turn. - 1. A move can be unusable if it has no PP left or it has been disabled by another move or effect - 2. If the enemy's move pool is empty, use Struggle. + 1. A move can be unusable if it has no PP left or it has been disabled by another move or effect. + 2. If the enemy's move pool is empty, use Struggle. 3. Calculate the **move score** of each move in the enemy's move pool. - 1. A move's move score is equivalent to the move's maximum **target score** among all of the move's possible targets on the field ([more on this later](#calculating-move-and-target-scores)). - 2. A move's move score is set to -20 if at least one of these conditions are met: - - The move is unimplemented (or, more precisely, the move's name ends with " (N)"). - - Conditions for the move to succeed are not met (unless the move is Sucker Punch, Upper Hand, or Thunderclap, as those moves' conditions can't be resolved before the turn starts). - - The move's target scores are 0 or `NaN` for each target. In this case, the game assumes the target score calculation for that move is unimplemented. + 1. A move's move score is equivalent to the move's maximum **target score** among all of the move's possible targets on the field ([more on this later](#calculating-move-and-target-scores)). + 2. A move's move score is set to -20 if at least one of these conditions are met: + - The move is unimplemented (or, more precisely, the move's name ends with "(N)"). + - Conditions for the move to succeed are not met (unless the move is Sucker Punch, Upper Hand or Thunderclap, as those moves' conditions can't be resolved until after the turn starts). + - The move's target scores are 0 or `NaN` for each target. In this case, the game assumes the target score calculation for that move is unimplemented. 4. Sort the move pool in descending order of move scores. 5. From here, the enemy's move selection varies based on its `aiType`. If the enemy is a Boss Pokémon or has a Trainer, it uses the `SMART` AI type; otherwise, it uses the `SMART_RANDOM` AI type. - 1. Let $m_i$ be the *i*-th move in the sorted move pool $M$: - - If `aiType === SMART_RANDOM`, the enemy has a 5/8 chance of selecting $m_0$ and a 3/8 chance of advancing to the next best move $m_1$, where it then repeats this roll. This process stops when a move is selected or the last move in the move pool is reached. - - If `aiType === SMART`, a similar loop is used to decide between selecting the move $m_i$ and advancing to the next iteration with the move $m_{i+1}$. However, instead of using a flat probability, the following conditions need to be met to advance from selecting $m_i$ to $m_{i+1}$: - - $\text{sign}(s_i) = \text{sign}(s_{i+1})$, where $s_i$ is the move score of $m_i$. - - $\text{randInt}(0, 100) < \text{round}(\frac{s_{i+1}}{s_i}\times 50)$. In other words: if the scores of $m_i$ and $m_{i+1}$ have the same sign, the chance to advance to the next iteration with $m_{i+1}$ is proportional to how close the scores are to each other. The probability to advance to the next iteration is at most 50 percent (when $s_i$ and $s_{i+1}$ are equal). + 1. Let $m_i$ be the *i*-th move in the sorted move pool $M$: + - If `aiType === SMART_RANDOM`, the enemy has a 5/8 chance of selecting $m_0$ and a 3/8 chance of advancing to the next best move $m_1$, where it then repeats this roll. This process stops when a move is selected or the last move in the move pool is reached. + - If `aiType === SMART`, a similar loop is used to decide between selecting the move $m_i$ and advancing to the next iteration with the move $m_{i+1}$. However, instead of using a flat probability, the following conditions need to be met to advance from selecting $m_i$ to $m_{i+1}$: + - $\text{sign}(s_i) = \text{sign}(s_{i+1})$, where $s_i$ is the move score of $m_i$. + - $\text{randInt}(0, 100) < \text{round}(\frac{s_{i+1}}{s_i}\times 50)$. In other words: if the scores of $m_i$ and $m_{i+1}$ have the same sign, the chance to advance to the next iteration with $m_{i+1}$ is proportional to how close the scores are to each other. The probability to advance to the next iteration is at most 50 percent (when $s_i$ and $s_{i+1}$ are equal). 6. The enemy will use the move selected in Step 5 against the target(s) with the highest [**target selection score (TSS)**](#choosing-targets-with-getnexttargets) ### Calculating Move and Target Scores -As part of the move selection process, the enemy Pokémon must compute a **target score (TS)** for each legal target for each move in its move pool. The base target score for all moves is a combination of the move's **user benefit score (UBS)** and **target benefit score (TBS)**. +As part of the move selection process, the enemy Pokémon must compute a **target score (TS)** for each legal target for each move in its move pool. The base target score is a combination of the move's **user benefit score (UBS)** and **target benefit score (TBS)**, representing how much the move helps or hinders the user and/or its target(s). -![equation](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BTS%7D=%5Ctext%7BUBS%7D+%5Ctext%7BTBS%7D%5Ctimes%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D-1&%5Ctext%7Bif%20target%20is%20an%20opponent%7D%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) +$$ +\text{TS} = \text{UBS} + \left( \text{TBS} \times +\begin{cases} +-1 & \text{if target is an opponent} \\ +1 & \text{otherwise} +\end{cases} +\right) +$$ A move's UBS and TBS are computed with the respective functions in the `Move` class: @@ -96,19 +103,38 @@ In addition to the base score from `Move.getTargetBenefitScore()`, attack moves - The move's category (Physical/Special), and whether the user has a higher Attack or Special Attack stat. More specifically, the following steps are taken to compute the move's `attackScore`: -1. Compute a multiplier based on the move's type effectiveness: +1. Compute a multiplier based on the move's type effectiveness: - ![typeMultEqn](https://latex.codecogs.com/png.image?%5Cdpi%7B110%7D%5Cbg%7Bwhite%7D%5Ctext%7BtypeMult%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D2&&%5Ctext%7Bif%20move%20is%20super%20effective(or%20better)%7D%5C%5C-2&&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) + $$ + \text{typeMult} = + \begin{cases} + 2 & \text{if move is super effective (or better)} \\ + -2 & \text{otherwise} + \end{cases} + $$ 2. Compute a multiplier based on the move's category and the user's offensive stats: - 1. Compute the user's offensive stat ratio: - - ![statRatioEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BstatRatio%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%5Cfrac%7B%5Ctext%7BuserSpAtk%7D%7D%7B%5Ctext%7BuserAtk%7D%7D&%5Ctext%7Bif%20move%20is%20physical%7D%5C%5C%5Cfrac%7B%5Ctext%7BuserAtk%7D%7D%7B%5Ctext%7BuserSpAtk%7D%7D&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) - 2. Compute the stat-based multiplier: + 1. Compute the user's offensive stat ratio: - ![statMultEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BstatMult%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D2&%5Ctext%7Bif%20statRatio%7D%5Cle%200.75%5C%5C1.5&%5Ctext%7Bif%5C;%7D0.75%5Cle%5Ctext%7BstatRatio%7D%5Cle%200.875%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) + $$ + \text{statRatio} = + \begin{cases} + \frac{\text{userSpAtk}}{\text{userAtk}} & \text{if move is physical} \\ + \frac{\text{userAtk}}{\text{userSpAtk}} & \text{otherwise} + \end{cases} + $$ + 2. Compute the stat-based multiplier: + + $$ + \text{statMult} = + \begin{cases} + 2 & \text{if statRatio} \leq 0.75 \\ + 1.5 & \text{if } 0.75 \leq \text{statRatio} \leq 0.875 \\ + 1 & \text{otherwise} + \end{cases} + $$ 3. Calculate the move's `attackScore`: - $\text{attackScore} = (\text{typeMult}\times \text{statMult})+\lfloor \frac{\text{power}}{5} \rfloor$ + $\text{attackScore} = (\text{typeMult}\times \text{statMult})+\lfloor \frac{\text{power}}{5} \rfloor$ The maximum total multiplier in `attackScore` ($\text{typeMult}\times \text{statMult}$) is 4, which occurs for attacks that are super effective against the target and are categorically aligned with the user's offensive stats (e.g. the move is physical, and the user has much higher Attack than Sp. Atk). The minimum total multiplier of -4 occurs (somewhat confusingly) for attacks that are not super effective but are categorically aligned with the user's offensive stats. @@ -125,18 +151,31 @@ The final step to calculate an attack move's target score (TS) is to multiply th The enemy's target selection for single-target moves works in a very similar way to its move selection. Each potential target is given a **target selection score (TSS)** which is based on the move's [target benefit score](#calculating-move-and-target-scores) for that target: -![TSSEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BTSS%7D=%5Ctext%7BTBS%7D%5Ctimes%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D-1&%5Ctext%7Bif%20target%20is%20an%20opponent%7D%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) +$$ +\text{TSS} = \text{TBS} \times +\begin{cases} +-1 & \text{if target is an opponent} \\ +1 & \text{otherwise} +\end{cases} +$$ Once the TSS is calculated for each target, the target is selected as follows: 1. Sort the targets (indexes) in decreasing order of their target selection scores (or weights). Let $t_i$ be the index of the *i*-th target in the sorted list, and let $w_i$ be that target's corresponding TSS. 2. Normalize the weights. Let $w_n$ be the lowest-weighted target in the sorted list, then: - - ![normWeightEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7DW_i=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7Dw_i+%7Cw_n%7C&%5Ctext%7Bif%5C;%7Dw_n%5C;%5Ctext%7Bis%20negative%7D%5C%5Cw_i&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.) + + $$ + W_i = + \begin{cases} + w_i + |w_n| & \text{if } w_n \text{ is negative} \\ + w_i & \text{otherwise} + \end{cases} + $$ + 3. Remove all weights from the list such that $W_i < \frac{W_0}{2}$ 4. Generate a random integer $R=\text{rand}(0, W_{\text{total}})$ where $W_{\text{total}}$ is the sum of all the remaining weights after Step 3. 5. For each target $(t_i, W_i)$, - 1. if $R \le \sum_{j=0}^{i} W_i$, or if $t_i$ is the last target in the list, **return** $t_i$ - 2. otherwise, advance to the next target $t_{i+1}$ and repeat this check. + 1. if $R \le \sum_{j=0}^{i} W_i$, or if $t_i$ is the last target in the list, **return** $t_i$ + 2. otherwise, advance to the next target $t_{i+1}$ and repeat this check. Once the target is selected, the enemy has successfully determined its next action for the turn, and its corresponding `EnemyCommandPhase` ends. From here, the `TurnStartPhase` processes the enemy's commands alongside the player's commands and begins to resolve the turn. @@ -145,15 +184,15 @@ Once the target is selected, the enemy has successfully determined its next acti Suppose you enter a single battle against an enemy trainer with the following Pokémon in their party: 1. An [Excadrill](https://bulbapedia.bulbagarden.net/wiki/Excadrill_(Pok%C3%A9mon)) with the Ability Sand Force and the following moveset - 1. Earthquake - 2. Iron Head - 3. Crush Claw - 4. Swords Dance + 1. Earthquake + 2. Iron Head + 3. Crush Claw + 4. Swords Dance 2. A [Heatmor](https://bulbapedia.bulbagarden.net/wiki/Heatmor_(Pok%C3%A9mon)) with the Ability Flash Fire and the following moveset - 1. Fire Lash - 2. Inferno - 3. Hone Claws - 4. Shadow Claw + 1. Fire Lash + 2. Inferno + 3. Hone Claws + 4. Shadow Claw The enemy trainer leads with their Heatmor, and you lead with a [Dachsbun](https://bulbapedia.bulbagarden.net/wiki/Dachsbun_(Pok%C3%A9mon)) with the Ability Well-Baked Body. We'll cover the enemy's behavior over the next two turns. @@ -172,13 +211,13 @@ Based on the enemy party's matchup scores, whether or not the trainer switches o Now that the enemy Pokémon with the best matchup score is on the field (assuming it survives Dachsbun's attack on the last turn), the enemy will now decide to have Excadrill use one of its moves. Assuming all of its moves are usable, we'll go through the target score calculations for each move: - **Earthquake**: In a single battle, this move is just a 100-power Ground-type physical attack with no additional effects. With no additional benefit score from attributes, the move's base target score against the player's Dachsbun is just the `attackScore` from `AttackMove.getTargetBenefitScore()`. In this case, Earthquake's `attackScore` is given by - + $\text{attackScore}=(\text{typeMult}\times \text{statMult}) + \lfloor \frac{\text{power}}{5} \rfloor = -2\times 2 + 20 = 16$ Here, `typeMult` is -2 because the move is not super effective, and `statMult` is 2 because Excadrill's Attack is significantly higher than its Sp. Atk. Accounting for STAB thanks to Excadrill's typing, the final target score for this move is **24** - **Iron Head**: This move is an 80-power Steel-type physical attack with an additional chance to cause the target to flinch. With these properties, Iron Head has a user benefit score of 0 and a target benefit score given by - + $\text{TBS}=\text{getTargetBenefitScore(FlinchAttr)}-\text{attackScore}$ Under its current implementation, the target benefit score of `FlinchAttr` is -5. Calculating the move's `attackScore`, we get: @@ -198,7 +237,7 @@ Now that the enemy Pokémon with the best matchup score is on the field (assumin where `levels` is the number of stat stages added by the attribute (in this case, +2). The final score for this move is **6** (Note: because this move is self-targeted, we don't flip the sign of TBS when computing the target score). - **Crush Claw**: This move is a 75-power Normal-type physical attack with a 50 percent chance to lower the target's Defense by one stage. The additional effect is implemented by the same `StatStageChangeAttr` as Swords Dance, so we can use the same formulas from before to compute the total TBS and base target score. - + $\text{TBS}=\text{getTargetBenefitScore(StatStageChangeAttr)}-\text{attackScore}$ $\text{TBS}=(-4 + 2)-(-2\times 2 + \lfloor \frac{75}{5} \rfloor)=-2-11=-13$ diff --git a/docs/linting.md b/docs/linting.md index ff512740a80..d3b4e47675f 100644 --- a/docs/linting.md +++ b/docs/linting.md @@ -1,34 +1,65 @@ -# Biome +# Linting & Formatting -## Key Features +> "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." +> +> — Martin Fowler -1. **Automation**: - - A pre-commit hook has been added to automatically run Biome on the added or modified files, ensuring code quality before commits. +Writing clean, readable code is important, and linters and formatters are an integral part of ensuring code quality and readability. +It is for this reason we are using [Biome](https://biomejs.dev), an opinionated linter/formatter (akin to Prettier) with a heavy focus on speed and performance. -2. **Manual Usage**: - - If you prefer not to use the pre-commit hook, you can manually run biome to automatically fix issues using the command: +### Installation +You probably installed Biome already without noticing it - it's included inside `package.json` and should've been downloaded when you ran `npm install` after cloning the repo (assuming you followed proper instructions, that is). If you haven't done that yet, go do it. - ```sh - npx @biomejs/biome --write - ``` +# Using Biome - - Running this command will lint all files in the repository. +For the most part, Biome attempts to stay "out of your hair", letting you write code while enforcing a consistent formatting standard and only notifying for errors it can't automatically fix.\ +On the other hand, if Biome complains about a piece of code, **there's probably a good reason why**. Disable comments should be used sparingly or when readabilty demands it - your first instinct should be to fix the code in question, not disable the rule. -3. **GitHub Action**: - - A GitHub Action has been added to automatically run Biome on every push and pull request, ensuring code quality in the CI/CD pipeline. +## Editor Integration +Biome has integration with many popular code editors. See [these](https://biomejs.dev/guides/editors/first-party-extensions/) [pages](https://biomejs.dev/guides/editors/third-party-extensions/) for information about enabling Biome in your editor of choice. -If you are getting linting errors from biome and want to see which files they are coming from, you can find that out by running biome in a way that is configured to only show the errors for that specific rule: ``npx @biomejs/biome lint --only=category/ruleName`` +## Automated Runs +Generally speaking, most users shouldn't need to run Biome directly; in addition to editor integration, [pre-commit hook](../lefthook.yml) will periodically run Biome before each commit. +You will **not** be able to push code with `error`-level linting problems - fix them beforehand. -## Summary of Biome Rules +We also have a [Github Action](../.github/workflows/quality.yml) to verify code quality each time a PR is updated, preventing bad code from inadvertently making its way upstream. -We use the [recommended ruleset](https://biomejs.dev/linter/rules/) for Biome, with some customizations to better suit our project's needs. +### Why am I getting errors for code I didn't write? + +To save time and minimize friction with existing code, both the pre-commit hook and workflow run will only check files **directly changed** by a given PR or commit. +As a result, changes to files not updated since Biome's introduction can cause any _prior_ linting errors in them to resurface and get flagged. +This should occur less and less often as time passes and more files are updated to the new standard. -For a complete list of rules and their configurations, refer to the `biome.jsonc` file in the project root. +## Running Biome via CLI +If you want Biome to check your files manually, you can run it from the command line like so: + +```sh +npx biome check --[flags] +``` + +A full list of flags and options can be found on [their website](https://biomejs.dev/reference/cli/), but here's a few useful ones to keep in mind: + +- `--write` will cause Biome to write all "safe" fixes and formatting changes directly to your files (rather than just complaining and doing nothing). +- `--changed` and `--staged` will only perform checks on all changed or staged files respectively. Biome sources this info from the relevant version control system (in this case Git). +- `diagnostic-level=XXX` will only show diagnostics with at least the given severity level (`info/warn/error`). Useful to only focus on errors causing a failed workflow run or similar. + +## Linting Rules + +We primarily use Biome's [recommended ruleset](https://biomejs.dev/linter/rules/) for linting JS/TS, with some customizations to better suit our project's needs[^1]. Some things to consider: -- We have disabled rules that prioritize style over performance, such as `useTemplate` -- Some rules are currently marked as warnings (`warn`) to allow for gradual refactoring without blocking development. Do not write new code that triggers these warnings. -- The linter is configured to ignore specific files and folders, such as large or complex files that are pending refactors, to improve performance and focus on actionable areas. +- We have disabled rules that prioritize style over performance, such as `useTemplate`. +- Some rules are currently disabled or marked as warnings (`warn`) to allow for gradual refactoring without blocking development. **Do not write new code that triggers these warnings.** +- The linter is configured to ignore specific files and folders (such as excessively large files or ones in need of refactoring) to improve performance and focus on actionable areas. -Formatting is also handled by Biome. You should not have to worry about manually formatting your code. +Any questions about linting rules should be brought up in the `#dev-corner` channel in the discord. + +[^1]: A complete list of rules can be found in the `biome.jsonc` file in the project root. + +## What about ESLint? + + +Our project migrated away from ESLint around March 2025 due to it simply not scaling well enough with the codebase's ever-growing size. The [existing eslint rules](../eslint.config.js) are considered _deprecated_, only kept due to Biome lacking the corresponding rules in its current ruleset. + +No additional ESLint rules should be added under any circumstances - even the few currently in circulation take longer to run than the entire Biome formatting/linting suite combined. \ No newline at end of file diff --git a/lefthook.yml b/lefthook.yml index ddf875f15de..ff0ac00f9e5 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -2,13 +2,12 @@ pre-commit: parallel: true commands: biome-lint: - glob: "*.{js,jsx,ts,tsx}" - run: npx @biomejs/biome check --write --reporter=summary {staged_files} --no-errors-on-unmatched + run: npx biome check --write --reporter=summary --staged --no-errors-on-unmatched stage_fixed: true skip: - merge - rebase - + post-merge: commands: update-submodules: diff --git a/public/exp-sprites.json b/public/exp-sprites.json index d6c8534e008..2595b5a7983 100644 --- a/public/exp-sprites.json +++ b/public/exp-sprites.json @@ -613,12 +613,6 @@ "780", "781", "781", - "782", - "782", - "783", - "783", - "784", - "784", "785", "785", "786", @@ -1733,12 +1727,6 @@ "780b", "781b", "781b", - "782b", - "782b", - "783b", - "783b", - "784b", - "784b", "785b", "785b", "786b", @@ -2853,12 +2841,6 @@ "780sb", "781sb", "781sb", - "782sb", - "782sb", - "783sb", - "783sb", - "784sb", - "784sb", "785sb", "785sb", "786sb", @@ -3978,12 +3960,6 @@ "780s", "781s", "781s", - "782s", - "782s", - "783s", - "783s", - "784s", - "784s", "785s", "785s", "786s", diff --git a/public/images/events/spr25event-de.png b/public/images/events/spr25event-de.png new file mode 100644 index 00000000000..1ccd9557460 Binary files /dev/null and b/public/images/events/spr25event-de.png differ diff --git a/public/images/events/spr25event-en.png b/public/images/events/spr25event-en.png new file mode 100644 index 00000000000..0e73f9247e3 Binary files /dev/null and b/public/images/events/spr25event-en.png differ diff --git a/public/images/events/spr25event-es-ES.png b/public/images/events/spr25event-es-ES.png new file mode 100644 index 00000000000..137f1c6e743 Binary files /dev/null and b/public/images/events/spr25event-es-ES.png differ diff --git a/public/images/events/spr25event-es-MX.png b/public/images/events/spr25event-es-MX.png new file mode 100644 index 00000000000..137f1c6e743 Binary files /dev/null and b/public/images/events/spr25event-es-MX.png differ diff --git a/public/images/events/spr25event-fr.png b/public/images/events/spr25event-fr.png new file mode 100644 index 00000000000..e7089eee4a1 Binary files /dev/null and b/public/images/events/spr25event-fr.png differ diff --git a/public/images/events/spr25event-it.png b/public/images/events/spr25event-it.png new file mode 100644 index 00000000000..2664b4367cc Binary files /dev/null and b/public/images/events/spr25event-it.png differ diff --git a/public/images/events/spr25event-ja.png b/public/images/events/spr25event-ja.png new file mode 100644 index 00000000000..90b02af8050 Binary files /dev/null and b/public/images/events/spr25event-ja.png differ diff --git a/public/images/events/spr25event-ko.png b/public/images/events/spr25event-ko.png new file mode 100644 index 00000000000..a8fe279617a Binary files /dev/null and b/public/images/events/spr25event-ko.png differ diff --git a/public/images/events/spr25event-pt-BR.png b/public/images/events/spr25event-pt-BR.png new file mode 100644 index 00000000000..ae195fecc97 Binary files /dev/null and b/public/images/events/spr25event-pt-BR.png differ diff --git a/public/images/pokemon/1011.png b/public/images/pokemon/1011.png index 39ed4c0d519..035ea0aca44 100644 Binary files a/public/images/pokemon/1011.png and b/public/images/pokemon/1011.png differ diff --git a/public/images/pokemon/1019.png b/public/images/pokemon/1019.png index 9c11ccecb89..f29e2df2fcf 100644 Binary files a/public/images/pokemon/1019.png and b/public/images/pokemon/1019.png differ diff --git a/public/images/pokemon/143-gigantamax.png b/public/images/pokemon/143-gigantamax.png index aa775df6164..3adc2c148cd 100644 Binary files a/public/images/pokemon/143-gigantamax.png and b/public/images/pokemon/143-gigantamax.png differ diff --git a/public/images/pokemon/143.png b/public/images/pokemon/143.png index 8050627a9a1..a09d0533fce 100644 Binary files a/public/images/pokemon/143.png and b/public/images/pokemon/143.png differ diff --git a/public/images/pokemon/189.png b/public/images/pokemon/189.png index fb7f53ced67..632366956bb 100644 Binary files a/public/images/pokemon/189.png and b/public/images/pokemon/189.png differ diff --git a/public/images/pokemon/2038.png b/public/images/pokemon/2038.png index 71cedc8af13..7e8fd0ea1b2 100644 Binary files a/public/images/pokemon/2038.png and b/public/images/pokemon/2038.png differ diff --git a/public/images/pokemon/207.png b/public/images/pokemon/207.png index ec2f862a139..115c41b0673 100644 Binary files a/public/images/pokemon/207.png and b/public/images/pokemon/207.png differ diff --git a/public/images/pokemon/313.png b/public/images/pokemon/313.png index 0a6336ec37b..fb0dd07c924 100644 Binary files a/public/images/pokemon/313.png and b/public/images/pokemon/313.png differ diff --git a/public/images/pokemon/314.png b/public/images/pokemon/314.png index 575b962093a..7252a7fb840 100644 Binary files a/public/images/pokemon/314.png and b/public/images/pokemon/314.png differ diff --git a/public/images/pokemon/332.png b/public/images/pokemon/332.png index f320ab4c331..a9979480673 100644 Binary files a/public/images/pokemon/332.png and b/public/images/pokemon/332.png differ diff --git a/public/images/pokemon/34.png b/public/images/pokemon/34.png index 3eec3a66805..e697a987354 100644 Binary files a/public/images/pokemon/34.png and b/public/images/pokemon/34.png differ diff --git a/public/images/pokemon/396.png b/public/images/pokemon/396.png index 5f42fc90461..34033368ac6 100644 Binary files a/public/images/pokemon/396.png and b/public/images/pokemon/396.png differ diff --git a/public/images/pokemon/397.png b/public/images/pokemon/397.png index 0197ee7182e..e9d14db7eab 100644 Binary files a/public/images/pokemon/397.png and b/public/images/pokemon/397.png differ diff --git a/public/images/pokemon/398.png b/public/images/pokemon/398.png index 55f8c7c09a3..d1adb74b7ca 100644 Binary files a/public/images/pokemon/398.png and b/public/images/pokemon/398.png differ diff --git a/public/images/pokemon/404.png b/public/images/pokemon/404.png index 50038f7a17c..c3c77be70db 100644 Binary files a/public/images/pokemon/404.png and b/public/images/pokemon/404.png differ diff --git a/public/images/pokemon/417.png b/public/images/pokemon/417.png index 6d7100f66fe..02cffd1c73f 100644 Binary files a/public/images/pokemon/417.png and b/public/images/pokemon/417.png differ diff --git a/public/images/pokemon/420.png b/public/images/pokemon/420.png index 4b76cdfcd21..8cf4dfd0bfc 100644 Binary files a/public/images/pokemon/420.png and b/public/images/pokemon/420.png differ diff --git a/public/images/pokemon/421-overcast.png b/public/images/pokemon/421-overcast.png index fb91ea937f1..82b66fd07f9 100644 Binary files a/public/images/pokemon/421-overcast.png and b/public/images/pokemon/421-overcast.png differ diff --git a/public/images/pokemon/421-sunshine.png b/public/images/pokemon/421-sunshine.png index 3ab91a47ca6..9da091ae12a 100644 Binary files a/public/images/pokemon/421-sunshine.png and b/public/images/pokemon/421-sunshine.png differ diff --git a/public/images/pokemon/446.png b/public/images/pokemon/446.png index 40795f6cd17..523d790a89c 100644 Binary files a/public/images/pokemon/446.png and b/public/images/pokemon/446.png differ diff --git a/public/images/pokemon/472.png b/public/images/pokemon/472.png index cc13377bd53..eefd055ffc3 100644 Binary files a/public/images/pokemon/472.png and b/public/images/pokemon/472.png differ diff --git a/public/images/pokemon/498.png b/public/images/pokemon/498.png index d45f8988cc0..f019a1f38b3 100644 Binary files a/public/images/pokemon/498.png and b/public/images/pokemon/498.png differ diff --git a/public/images/pokemon/499.png b/public/images/pokemon/499.png index c8232f9bb34..8f2f76ca6bb 100644 Binary files a/public/images/pokemon/499.png and b/public/images/pokemon/499.png differ diff --git a/public/images/pokemon/500.png b/public/images/pokemon/500.png index 9d388d33640..ae842c38bcd 100644 Binary files a/public/images/pokemon/500.png and b/public/images/pokemon/500.png differ diff --git a/public/images/pokemon/511.png b/public/images/pokemon/511.png index ebf4b069b23..77ba327fd12 100644 Binary files a/public/images/pokemon/511.png and b/public/images/pokemon/511.png differ diff --git a/public/images/pokemon/512.png b/public/images/pokemon/512.png index 94ae881fdb2..58870d253cb 100644 Binary files a/public/images/pokemon/512.png and b/public/images/pokemon/512.png differ diff --git a/public/images/pokemon/513.png b/public/images/pokemon/513.png index f8d6e6017de..99f2fccc23e 100644 Binary files a/public/images/pokemon/513.png and b/public/images/pokemon/513.png differ diff --git a/public/images/pokemon/514.png b/public/images/pokemon/514.png index 87a2ece7f6d..57216c76e08 100644 Binary files a/public/images/pokemon/514.png and b/public/images/pokemon/514.png differ diff --git a/public/images/pokemon/515.png b/public/images/pokemon/515.png index 3dc40ff122d..e6187568544 100644 Binary files a/public/images/pokemon/515.png and b/public/images/pokemon/515.png differ diff --git a/public/images/pokemon/516.png b/public/images/pokemon/516.png index c13615fa119..cd4d5d64392 100644 Binary files a/public/images/pokemon/516.png and b/public/images/pokemon/516.png differ diff --git a/public/images/pokemon/522.png b/public/images/pokemon/522.png index 3e545afc925..64ca1253304 100644 Binary files a/public/images/pokemon/522.png and b/public/images/pokemon/522.png differ diff --git a/public/images/pokemon/523.png b/public/images/pokemon/523.png index 49674e2ee8b..3c491927a02 100644 Binary files a/public/images/pokemon/523.png and b/public/images/pokemon/523.png differ diff --git a/public/images/pokemon/535.png b/public/images/pokemon/535.png index afa9cfb10ee..b8a82d204c5 100644 Binary files a/public/images/pokemon/535.png and b/public/images/pokemon/535.png differ diff --git a/public/images/pokemon/536.png b/public/images/pokemon/536.png index bbc6d6b548c..90202df0339 100644 Binary files a/public/images/pokemon/536.png and b/public/images/pokemon/536.png differ diff --git a/public/images/pokemon/537.png b/public/images/pokemon/537.png index 9b70ea2eafe..906b546cf42 100644 Binary files a/public/images/pokemon/537.png and b/public/images/pokemon/537.png differ diff --git a/public/images/pokemon/554.png b/public/images/pokemon/554.png index d2483d4cec7..b0c4bb10335 100644 Binary files a/public/images/pokemon/554.png and b/public/images/pokemon/554.png differ diff --git a/public/images/pokemon/555-zen.png b/public/images/pokemon/555-zen.png index e94c779abce..48cbf58a17a 100644 Binary files a/public/images/pokemon/555-zen.png and b/public/images/pokemon/555-zen.png differ diff --git a/public/images/pokemon/555.png b/public/images/pokemon/555.png index 0843ef0026b..0ec02846a6a 100644 Binary files a/public/images/pokemon/555.png and b/public/images/pokemon/555.png differ diff --git a/public/images/pokemon/566.png b/public/images/pokemon/566.png index 67b5f09c056..e54a8680298 100644 Binary files a/public/images/pokemon/566.png and b/public/images/pokemon/566.png differ diff --git a/public/images/pokemon/572.png b/public/images/pokemon/572.png index ba9446aa9d2..32f01341e2f 100644 Binary files a/public/images/pokemon/572.png and b/public/images/pokemon/572.png differ diff --git a/public/images/pokemon/573.png b/public/images/pokemon/573.png index b827c23d78e..a33172fe8d3 100644 Binary files a/public/images/pokemon/573.png and b/public/images/pokemon/573.png differ diff --git a/public/images/pokemon/626.png b/public/images/pokemon/626.png index 281119efdc2..542cefe41bb 100644 Binary files a/public/images/pokemon/626.png and b/public/images/pokemon/626.png differ diff --git a/public/images/pokemon/643.png b/public/images/pokemon/643.png index b7c21248166..30d993791ab 100644 Binary files a/public/images/pokemon/643.png and b/public/images/pokemon/643.png differ diff --git a/public/images/pokemon/644.png b/public/images/pokemon/644.png index 4ccbb7700d5..14fce7e0bab 100644 Binary files a/public/images/pokemon/644.png and b/public/images/pokemon/644.png differ diff --git a/public/images/pokemon/646-black.png b/public/images/pokemon/646-black.png index 4c45fcf2a03..f5ad11ddcac 100644 Binary files a/public/images/pokemon/646-black.png and b/public/images/pokemon/646-black.png differ diff --git a/public/images/pokemon/646-white.png b/public/images/pokemon/646-white.png index 0de658c5a39..9907f8e278c 100644 Binary files a/public/images/pokemon/646-white.png and b/public/images/pokemon/646-white.png differ diff --git a/public/images/pokemon/746-school.png b/public/images/pokemon/746-school.png index e9d8bdbd944..c592b71a66a 100644 Binary files a/public/images/pokemon/746-school.png and b/public/images/pokemon/746-school.png differ diff --git a/public/images/pokemon/746.png b/public/images/pokemon/746.png index 22f4ec2fd6f..3de01770ee6 100644 Binary files a/public/images/pokemon/746.png and b/public/images/pokemon/746.png differ diff --git a/public/images/pokemon/782.json b/public/images/pokemon/782.json index 9b8f8e93d39..2a08877c58b 100644 --- a/public/images/pokemon/782.json +++ b/public/images/pokemon/782.json @@ -1,41 +1,1010 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 50, - "h": 50 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 46, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:350889f3e7d7ba0c8471435ab283acd5:fde1ef9d118b98abfede0d4980b8ef8d:d07862436676aa228a148ee1f1d82a8f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0020.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0039.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0057.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 98, "y": 109, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 49, "y": 161, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 146, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 97, "y": 162, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0076.png", + "frame": { "x": 194, "y": 162, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 1, "y": 109, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 1, "y": 160, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 50, "y": 109, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 148, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 197, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 50, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 148, "y": 54, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 196, "y": 54, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 1, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 49, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0094.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 49, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 49, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 99, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 193, "y": 108, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 97, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 1, "y": 55, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 145, "y": 108, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 197, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 148, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "782.png", + "format": "I8", + "size": { "w": 245, "h": 211 }, + "scale": "1" + } } diff --git a/public/images/pokemon/782.png b/public/images/pokemon/782.png index ad461fe00ae..093d0189535 100644 Binary files a/public/images/pokemon/782.png and b/public/images/pokemon/782.png differ diff --git a/public/images/pokemon/783.json b/public/images/pokemon/783.json index ff018d3f04a..df0c084fa38 100644 --- a/public/images/pokemon/783.json +++ b/public/images/pokemon/783.json @@ -1,41 +1,965 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 69, - "h": 69 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 61, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 61, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 61, - "h": 69 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:a352518568888797dbb97bf40e2075df:76c85cf57217dd8c084dd2b2591b9bef:aab166e28c744865a0296041224dd01b$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 66, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 336, "y": 146, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 1, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 424, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 284, "y": 70, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 350, "y": 74, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 490, "y": 141, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 415, "y": 145, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 318, "y": 217, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 442, "y": 353, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 59, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 117, "y": 426, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 486, "y": 424, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 298, "y": 358, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 63, "y": 285, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 66, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 336, "y": 146, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 1, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 424, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 284, "y": 70, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 350, "y": 74, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 490, "y": 141, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 415, "y": 145, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 318, "y": 217, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 442, "y": 353, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 59, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 117, "y": 426, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 486, "y": 424, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 298, "y": 358, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 63, "y": 285, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 66, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 336, "y": 146, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 1, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 424, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 284, "y": 70, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 350, "y": 74, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 490, "y": 141, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 415, "y": 145, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 318, "y": 217, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 442, "y": 353, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 59, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 117, "y": 426, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 486, "y": 424, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 298, "y": 358, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 63, "y": 285, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 66, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 336, "y": 146, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 1, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 424, "y": 73, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 284, "y": 70, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 350, "y": 74, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 490, "y": 141, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 415, "y": 145, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 318, "y": 217, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 442, "y": 353, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 59, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 425, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 117, "y": 426, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 486, "y": 424, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 298, "y": 358, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 63, "y": 285, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 255, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 462, "y": 283, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 309, "y": 288, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 370, "y": 356, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 380, "y": 287, "w": 60, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 60, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 1, "y": 215, "w": 63, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 63, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 492, "y": 1, "w": 68, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 68, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 284, "y": 1, "w": 70, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 70, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 72, "y": 1, "w": 71, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 71, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 214, "y": 1, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 214, "y": 72, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 66, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 67, "y": 142, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 424, "y": 1, "w": 66, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 66, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 1, "y": 1, "w": 69, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 69, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 145, "y": 1, "w": 67, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 0, "w": 67, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 356, "y": 1, "w": 66, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 0, "w": 66, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 121, "y": 355, "w": 57, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 57, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 239, "y": 426, "w": 54, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 54, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 357, "y": 425, "w": 55, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 55, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 429, "y": 423, "w": 55, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 55, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 180, "y": 356, "w": 57, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 57, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 66, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 271, "y": 143, "w": 63, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 63, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 72, "y": 71, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 187, "y": 285, "w": 59, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 59, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0091.png", + "frame": { "x": 192, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0092.png", + "frame": { "x": 206, "y": 143, "w": 63, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 63, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0093.png", + "frame": { "x": 492, "y": 70, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0094.png", + "frame": { "x": 503, "y": 353, "w": 58, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 58, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0095.png", + "frame": { "x": 129, "y": 214, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0096.png", + "frame": { "x": 132, "y": 144, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 63, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0097.png", + "frame": { "x": 139, "y": 74, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0098.png", + "frame": { "x": 61, "y": 355, "w": 58, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 58, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0099.png", + "frame": { "x": 125, "y": 285, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0100.png", + "frame": { "x": 479, "y": 213, "w": 62, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 62, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0101.png", + "frame": { "x": 1, "y": 145, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 63, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0102.png", + "frame": { "x": 239, "y": 356, "w": 57, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 57, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0103.png", + "frame": { "x": 1, "y": 354, "w": 58, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 58, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0104.png", + "frame": { "x": 248, "y": 285, "w": 59, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 59, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0105.png", + "frame": { "x": 1, "y": 283, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0106.png", + "frame": { "x": 400, "y": 216, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "783.png", + "format": "I8", + "size": { "w": 562, "h": 494 }, + "scale": "1" + } } diff --git a/public/images/pokemon/783.png b/public/images/pokemon/783.png index 3ec37265afe..9396392b588 100644 Binary files a/public/images/pokemon/783.png and b/public/images/pokemon/783.png differ diff --git a/public/images/pokemon/784.json b/public/images/pokemon/784.json index 93433997311..7899177cfc7 100644 --- a/public/images/pokemon/784.json +++ b/public/images/pokemon/784.json @@ -1,41 +1,812 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 81, - "h": 81 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 79, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 79, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 79, - "h": 81 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:dcfcb88e42dad35e57b259d31fbc6143:26fe93636d2b2e8c3da41c05f0648a08:c2f7ca3ab1075b8c824730653d891244$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 260, "y": 244, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 381, "y": 166, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 291, "y": 161, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 106, "y": 80, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 422, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 106, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 212, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 316, "y": 79, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 414, "y": 82, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 505, "y": 165, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 325, "y": 333, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 237, "y": 410, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 483, "y": 333, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 585, "y": 332, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 165, "y": 252, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 260, "y": 244, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 381, "y": 166, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 291, "y": 161, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 106, "y": 80, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 422, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 106, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 212, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 316, "y": 79, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 414, "y": 82, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 505, "y": 165, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 325, "y": 333, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 237, "y": 410, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 483, "y": 333, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 585, "y": 332, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 165, "y": 252, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 260, "y": 244, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 381, "y": 166, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 291, "y": 161, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 106, "y": 80, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 422, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 106, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 212, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 316, "y": 79, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 414, "y": 82, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 505, "y": 165, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 325, "y": 333, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 237, "y": 410, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 483, "y": 333, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 585, "y": 332, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 165, "y": 252, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 260, "y": 244, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 381, "y": 166, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 291, "y": 161, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 106, "y": 80, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 422, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 106, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 212, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 316, "y": 79, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 414, "y": 82, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 505, "y": 165, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 325, "y": 333, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 237, "y": 410, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 483, "y": 333, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 585, "y": 332, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 165, "y": 252, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 83, "y": 246, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 589, "y": 166, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 1, "y": 162, "w": 89, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 89, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 1, "y": 81, "w": 95, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 6, "w": 95, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 624, "y": 1, "w": 100, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 7, "w": 100, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 316, "y": 1, "w": 104, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 9, "w": 104, "h": 76 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 523, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 505, "y": 82, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 624, "y": 81, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 202, "y": 81, "w": 87, "h": 85 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 87, "h": 85 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 92, "y": 162, "w": 84, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 84, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 159, "y": 335, "w": 76, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 5, "w": 76, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 562, "y": 414, "w": 75, "h": 74 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 14, "w": 75, "h": 74 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 1, "y": 412, "w": 75, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 7, "w": 75, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 78, "y": 413, "w": 76, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 9, "w": 76, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 404, "y": 333, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 245, "y": 327, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 5, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 178, "y": 168, "w": 80, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 80, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 1, "y": 244, "w": 80, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 80, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 342, "y": 249, "w": 79, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 79, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 328, "w": 77, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 77, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 80, "y": 329, "w": 77, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 3, "w": 77, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 423, "y": 249, "w": 79, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 3, "w": 79, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 589, "y": 249, "w": 79, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 79, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 504, "y": 250, "w": 79, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 79, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "784.png", + "format": "I8", + "size": { "w": 725, "h": 493 }, + "scale": "1" + } } diff --git a/public/images/pokemon/784.png b/public/images/pokemon/784.png index 7bca9f0794a..6d37807b8a0 100644 Binary files a/public/images/pokemon/784.png and b/public/images/pokemon/784.png differ diff --git a/public/images/pokemon/840.png b/public/images/pokemon/840.png index f0d1f83bd93..1a263e3ee19 100644 Binary files a/public/images/pokemon/840.png and b/public/images/pokemon/840.png differ diff --git a/public/images/pokemon/841-gigantamax.png b/public/images/pokemon/841-gigantamax.png index 69c53677722..07121b9c12f 100644 Binary files a/public/images/pokemon/841-gigantamax.png and b/public/images/pokemon/841-gigantamax.png differ diff --git a/public/images/pokemon/841.png b/public/images/pokemon/841.png index 5e665960df4..e7329f2eb97 100644 Binary files a/public/images/pokemon/841.png and b/public/images/pokemon/841.png differ diff --git a/public/images/pokemon/842-gigantamax.png b/public/images/pokemon/842-gigantamax.png index 69c53677722..aee95b7b881 100644 Binary files a/public/images/pokemon/842-gigantamax.png and b/public/images/pokemon/842-gigantamax.png differ diff --git a/public/images/pokemon/842.png b/public/images/pokemon/842.png index 468ca88562e..4e3fec8ef1b 100644 Binary files a/public/images/pokemon/842.png and b/public/images/pokemon/842.png differ diff --git a/public/images/pokemon/871.png b/public/images/pokemon/871.png index bdcedb9d90a..af53b0275e6 100644 Binary files a/public/images/pokemon/871.png and b/public/images/pokemon/871.png differ diff --git a/public/images/pokemon/back/1011.png b/public/images/pokemon/back/1011.png index 3e23fc1ebe3..ab3cc75482d 100644 Binary files a/public/images/pokemon/back/1011.png and b/public/images/pokemon/back/1011.png differ diff --git a/public/images/pokemon/back/1019.png b/public/images/pokemon/back/1019.png index ece50558c8c..d80a0930192 100644 Binary files a/public/images/pokemon/back/1019.png and b/public/images/pokemon/back/1019.png differ diff --git a/public/images/pokemon/back/143-gigantamax.png b/public/images/pokemon/back/143-gigantamax.png index 3ebb6f16483..cd251a515e6 100644 Binary files a/public/images/pokemon/back/143-gigantamax.png and b/public/images/pokemon/back/143-gigantamax.png differ diff --git a/public/images/pokemon/back/2038.png b/public/images/pokemon/back/2038.png index 68a9cfb2d6e..957b2d31714 100644 Binary files a/public/images/pokemon/back/2038.png and b/public/images/pokemon/back/2038.png differ diff --git a/public/images/pokemon/back/332.png b/public/images/pokemon/back/332.png index a6940fbaba6..a432b1af4b2 100644 Binary files a/public/images/pokemon/back/332.png and b/public/images/pokemon/back/332.png differ diff --git a/public/images/pokemon/back/34.png b/public/images/pokemon/back/34.png index 40827a68879..bb0ad630d1a 100644 Binary files a/public/images/pokemon/back/34.png and b/public/images/pokemon/back/34.png differ diff --git a/public/images/pokemon/back/396.png b/public/images/pokemon/back/396.png index 141103a25ad..843c9dca1e4 100644 Binary files a/public/images/pokemon/back/396.png and b/public/images/pokemon/back/396.png differ diff --git a/public/images/pokemon/back/397.png b/public/images/pokemon/back/397.png index 96a5d4f161a..236fc18ea44 100644 Binary files a/public/images/pokemon/back/397.png and b/public/images/pokemon/back/397.png differ diff --git a/public/images/pokemon/back/398.png b/public/images/pokemon/back/398.png index 57fbb92e12f..63ed37bfd15 100644 Binary files a/public/images/pokemon/back/398.png and b/public/images/pokemon/back/398.png differ diff --git a/public/images/pokemon/back/403.png b/public/images/pokemon/back/403.png index c8f49d37d96..303c4b57cbd 100644 Binary files a/public/images/pokemon/back/403.png and b/public/images/pokemon/back/403.png differ diff --git a/public/images/pokemon/back/404.png b/public/images/pokemon/back/404.png index eb1a04e4d1b..6592f80c58d 100644 Binary files a/public/images/pokemon/back/404.png and b/public/images/pokemon/back/404.png differ diff --git a/public/images/pokemon/back/405.png b/public/images/pokemon/back/405.png index b6c6f12a0fb..0afe5b3036d 100644 Binary files a/public/images/pokemon/back/405.png and b/public/images/pokemon/back/405.png differ diff --git a/public/images/pokemon/back/498.png b/public/images/pokemon/back/498.png index 8ea4900e8f3..c14fb4561e7 100644 Binary files a/public/images/pokemon/back/498.png and b/public/images/pokemon/back/498.png differ diff --git a/public/images/pokemon/back/500.png b/public/images/pokemon/back/500.png index de1b556bede..082f0460ff2 100644 Binary files a/public/images/pokemon/back/500.png and b/public/images/pokemon/back/500.png differ diff --git a/public/images/pokemon/back/522.png b/public/images/pokemon/back/522.png index 54c706d1455..ff5bbafb915 100644 Binary files a/public/images/pokemon/back/522.png and b/public/images/pokemon/back/522.png differ diff --git a/public/images/pokemon/back/523.png b/public/images/pokemon/back/523.png index 6f25fd9cc74..023afbd1008 100644 Binary files a/public/images/pokemon/back/523.png and b/public/images/pokemon/back/523.png differ diff --git a/public/images/pokemon/back/535.png b/public/images/pokemon/back/535.png index ac477600b72..2556d646aa6 100644 Binary files a/public/images/pokemon/back/535.png and b/public/images/pokemon/back/535.png differ diff --git a/public/images/pokemon/back/536.png b/public/images/pokemon/back/536.png index 32e48b10c85..393006e83b9 100644 Binary files a/public/images/pokemon/back/536.png and b/public/images/pokemon/back/536.png differ diff --git a/public/images/pokemon/back/554.png b/public/images/pokemon/back/554.png index 4ed9c06f0ee..f6423a5e66e 100644 Binary files a/public/images/pokemon/back/554.png and b/public/images/pokemon/back/554.png differ diff --git a/public/images/pokemon/back/555-zen.png b/public/images/pokemon/back/555-zen.png index 48ef6beb7c4..8fe0e672a3a 100644 Binary files a/public/images/pokemon/back/555-zen.png and b/public/images/pokemon/back/555-zen.png differ diff --git a/public/images/pokemon/back/555.png b/public/images/pokemon/back/555.png index 8f1a709c5f4..77c04139079 100644 Binary files a/public/images/pokemon/back/555.png and b/public/images/pokemon/back/555.png differ diff --git a/public/images/pokemon/back/567.png b/public/images/pokemon/back/567.png index ca9432a3e71..ec4197fbb92 100644 Binary files a/public/images/pokemon/back/567.png and b/public/images/pokemon/back/567.png differ diff --git a/public/images/pokemon/back/572.png b/public/images/pokemon/back/572.png index d7ddaf62136..4d081564b50 100644 Binary files a/public/images/pokemon/back/572.png and b/public/images/pokemon/back/572.png differ diff --git a/public/images/pokemon/back/573.png b/public/images/pokemon/back/573.png index 03a0093d70d..ef4a8bc14ab 100644 Binary files a/public/images/pokemon/back/573.png and b/public/images/pokemon/back/573.png differ diff --git a/public/images/pokemon/back/626.png b/public/images/pokemon/back/626.png index 05b6514878d..a3098a1c1d3 100644 Binary files a/public/images/pokemon/back/626.png and b/public/images/pokemon/back/626.png differ diff --git a/public/images/pokemon/back/643.png b/public/images/pokemon/back/643.png index 30b32e7902d..597b4bcb189 100644 Binary files a/public/images/pokemon/back/643.png and b/public/images/pokemon/back/643.png differ diff --git a/public/images/pokemon/back/644.png b/public/images/pokemon/back/644.png index ab17e62c2e6..39a4d3499bd 100644 Binary files a/public/images/pokemon/back/644.png and b/public/images/pokemon/back/644.png differ diff --git a/public/images/pokemon/back/645-incarnate.png b/public/images/pokemon/back/645-incarnate.png index 8be36f692f9..d47e03c718b 100644 Binary files a/public/images/pokemon/back/645-incarnate.png and b/public/images/pokemon/back/645-incarnate.png differ diff --git a/public/images/pokemon/back/645-therian.png b/public/images/pokemon/back/645-therian.png index 2e5e6e03e05..127a759f89a 100644 Binary files a/public/images/pokemon/back/645-therian.png and b/public/images/pokemon/back/645-therian.png differ diff --git a/public/images/pokemon/back/646-black.png b/public/images/pokemon/back/646-black.png index aeeb90f147e..7783e4c8cd5 100644 Binary files a/public/images/pokemon/back/646-black.png and b/public/images/pokemon/back/646-black.png differ diff --git a/public/images/pokemon/back/646-white.png b/public/images/pokemon/back/646-white.png index f5db6867e94..1dc659ed6ac 100644 Binary files a/public/images/pokemon/back/646-white.png and b/public/images/pokemon/back/646-white.png differ diff --git a/public/images/pokemon/back/646.png b/public/images/pokemon/back/646.png index 3a36013adec..6ca7f51f01d 100644 Binary files a/public/images/pokemon/back/646.png and b/public/images/pokemon/back/646.png differ diff --git a/public/images/pokemon/back/746-school.png b/public/images/pokemon/back/746-school.png index 55b8f33929b..1884123d82e 100644 Binary files a/public/images/pokemon/back/746-school.png and b/public/images/pokemon/back/746-school.png differ diff --git a/public/images/pokemon/back/746.png b/public/images/pokemon/back/746.png index 3b1b4438f15..cb424c9fbe1 100644 Binary files a/public/images/pokemon/back/746.png and b/public/images/pokemon/back/746.png differ diff --git a/public/images/pokemon/back/782.json b/public/images/pokemon/back/782.json index 64036da7750..564a0c4f13a 100644 --- a/public/images/pokemon/back/782.json +++ b/public/images/pokemon/back/782.json @@ -1,41 +1,1010 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 50, - "h": 50 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 46, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:03129fcf647a44654eebf65e3131032f:56b06453c435e6f8d3648a6836f20d5d:d07862436676aa228a148ee1f1d82a8f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0020.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0039.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0057.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 99, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 148, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 195, "y": 164, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 146, "y": 164, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0076.png", + "frame": { "x": 1, "y": 166, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 50, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 98, "y": 164, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 50, "y": 111, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 201, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 201, "y": 55, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 51, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 1, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 50, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 99, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 148, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0094.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 148, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 148, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 151, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 101, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 197, "y": 109, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 99, "y": 56, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 1, "y": 111, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 201, "y": 55, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 201, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "782.png", + "format": "I8", + "size": { "w": 249, "h": 216 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/782.png b/public/images/pokemon/back/782.png index aa3e05416a2..eb222077d81 100644 Binary files a/public/images/pokemon/back/782.png and b/public/images/pokemon/back/782.png differ diff --git a/public/images/pokemon/back/783.json b/public/images/pokemon/back/783.json index dbdf0832c04..d8f4119f161 100644 --- a/public/images/pokemon/back/783.json +++ b/public/images/pokemon/back/783.json @@ -1,41 +1,965 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 69, - "h": 69 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 66, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:7d62b0df753b06fca02f434512c11d99:8e8a5ac9c7d2fc25a02a4d24d5c5b640:aab166e28c744865a0296041224dd01b$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 272, "y": 280, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 487, "y": 277, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 1, "y": 347, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 266, "y": 350, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 66, "y": 349, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 347, "y": 279, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 134, "y": 282, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 1, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 200, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 329, "y": 350, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 519, "y": 418, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 456, "y": 418, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 130, "y": 352, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 413, "y": 347, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 205, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 138, "y": 211, "w": 66, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 66, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 68, "y": 278, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 141, "y": 140, "w": 67, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 67, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 294, "y": 1, "w": 69, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 69, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 149, "y": 1, "w": 71, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 71, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 490, "y": 209, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 143, "y": 71, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 506, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 361, "y": 139, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 430, "y": 140, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 436, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 505, "y": 71, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 209, "y": 209, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 420, "y": 209, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 195, "y": 416, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 63, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 329, "y": 419, "w": 59, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 59, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 64, "y": 420, "w": 58, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 58, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 394, "y": 416, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 479, "y": 348, "w": 64, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 64, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 420, "y": 277, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 292, "y": 72, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 221, "y": 1, "w": 72, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 72, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 1, "y": 139, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0091.png", + "frame": { "x": 364, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0092.png", + "frame": { "x": 221, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0093.png", + "frame": { "x": 75, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0094.png", + "frame": { "x": 71, "y": 139, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0095.png", + "frame": { "x": 72, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0096.png", + "frame": { "x": 1, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0097.png", + "frame": { "x": 1, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0098.png", + "frame": { "x": 283, "y": 142, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0099.png", + "frame": { "x": 499, "y": 140, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0100.png", + "frame": { "x": 435, "y": 71, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0101.png", + "frame": { "x": 364, "y": 1, "w": 71, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 71, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0102.png", + "frame": { "x": 1, "y": 208, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0103.png", + "frame": { "x": 279, "y": 211, "w": 67, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 67, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0104.png", + "frame": { "x": 214, "y": 139, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0105.png", + "frame": { "x": 70, "y": 208, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0106.png", + "frame": { "x": 352, "y": 209, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "783.png", + "format": "I8", + "size": { "w": 581, "h": 489 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/783.png b/public/images/pokemon/back/783.png index 80b07db3466..ff8c7ca052f 100644 Binary files a/public/images/pokemon/back/783.png and b/public/images/pokemon/back/783.png differ diff --git a/public/images/pokemon/back/784.json b/public/images/pokemon/back/784.json index 8a31743fa63..2be405d5d06 100644 --- a/public/images/pokemon/back/784.json +++ b/public/images/pokemon/back/784.json @@ -1,41 +1,812 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 92, - "h": 92 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 92, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 92, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 92, - "h": 81 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:f20be28706ee0de7538fc5feaf80d0ee:599492666e3be0e6a26e56f7fe23eebd:c2f7ca3ab1075b8c824730653d891244$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 189, "y": 242, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 1, "y": 166, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 545, "y": 84, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 545, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 333, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 220, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 651, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 204, "y": 162, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 309, "y": 165, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 98, "y": 172, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 461, "y": 251, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 341, "y": 332, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 176, "y": 326, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 89, "y": 258, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 1, "y": 250, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 189, "y": 242, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 1, "y": 166, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 545, "y": 84, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 545, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 333, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 220, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 651, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 204, "y": 162, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 309, "y": 165, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 98, "y": 172, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 461, "y": 251, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 341, "y": 332, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 176, "y": 326, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 89, "y": 258, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 1, "y": 250, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 189, "y": 242, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 1, "y": 166, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 545, "y": 84, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 545, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 333, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 220, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 651, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 204, "y": 162, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 309, "y": 165, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 98, "y": 172, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 461, "y": 251, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 341, "y": 332, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 176, "y": 326, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 89, "y": 258, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 1, "y": 250, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 189, "y": 242, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 1, "y": 166, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 545, "y": 84, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 545, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 333, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 220, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 651, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 204, "y": 162, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 309, "y": 165, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 98, "y": 172, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 461, "y": 251, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 341, "y": 332, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 176, "y": 326, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 89, "y": 258, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 1, "y": 250, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 409, "y": 166, "w": 93, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 93, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 104, "y": 88, "w": 97, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 97, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 1, "y": 83, "w": 100, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 5, "w": 100, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 651, "y": 81, "w": 102, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 6, "w": 102, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 220, "y": 82, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 432, "y": 87, "w": 104, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 9, "w": 104, "h": 76 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 327, "y": 84, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 646, "y": 163, "w": 96, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 96, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 442, "y": 1, "w": 100, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 100, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 114, "y": 1, "w": 103, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 103, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 505, "y": 168, "w": 92, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 92, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 83, "y": 341, "w": 75, "h": 85 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 33, "y": 0, "w": 75, "h": 85 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 579, "y": 415, "w": 72, "h": 74 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 12, "w": 72, "h": 74 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 504, "y": 413, "w": 72, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 5, "w": 72, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 341, "y": 414, "w": 72, "h": 75 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 10, "w": 72, "h": 75 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 693, "y": 247, "w": 73, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 35, "y": 5, "w": 73, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 161, "y": 409, "w": 74, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 3, "w": 74, "h": 82 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 425, "y": 335, "w": 76, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 31, "y": 1, "w": 76, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 261, "y": 331, "w": 77, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 29, "y": 1, "w": 77, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 632, "y": 330, "w": 79, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 3, "w": 79, "h": 82 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 334, "w": 79, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 4, "w": 79, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 547, "y": 330, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 372, "y": 250, "w": 86, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 17, "y": 6, "w": 86, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 282, "y": 248, "w": 87, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 87, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 600, "y": 247, "w": 90, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 5, "w": 90, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "784.png", + "format": "I8", + "size": { "w": 767, "h": 494 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/784.png b/public/images/pokemon/back/784.png index 365f0d0610d..08b953b3351 100644 Binary files a/public/images/pokemon/back/784.png and b/public/images/pokemon/back/784.png differ diff --git a/public/images/pokemon/back/840.png b/public/images/pokemon/back/840.png index f9ff9f11790..a247dc33939 100644 Binary files a/public/images/pokemon/back/840.png and b/public/images/pokemon/back/840.png differ diff --git a/public/images/pokemon/back/841-gigantamax.png b/public/images/pokemon/back/841-gigantamax.png index af30e475002..7c7e9e442b5 100644 Binary files a/public/images/pokemon/back/841-gigantamax.png and b/public/images/pokemon/back/841-gigantamax.png differ diff --git a/public/images/pokemon/back/841.png b/public/images/pokemon/back/841.png index 705b651521b..7b083594ab0 100644 Binary files a/public/images/pokemon/back/841.png and b/public/images/pokemon/back/841.png differ diff --git a/public/images/pokemon/back/842-gigantamax.png b/public/images/pokemon/back/842-gigantamax.png index af30e475002..7c7e9e442b5 100644 Binary files a/public/images/pokemon/back/842-gigantamax.png and b/public/images/pokemon/back/842-gigantamax.png differ diff --git a/public/images/pokemon/back/842.png b/public/images/pokemon/back/842.png index d3f9ff8e12b..f6f72d57b06 100644 Binary files a/public/images/pokemon/back/842.png and b/public/images/pokemon/back/842.png differ diff --git a/public/images/pokemon/back/871.png b/public/images/pokemon/back/871.png index 657da7f864f..73eb65ab089 100644 Binary files a/public/images/pokemon/back/871.png and b/public/images/pokemon/back/871.png differ diff --git a/public/images/pokemon/back/female/332.png b/public/images/pokemon/back/female/332.png index a6940fbaba6..a432b1af4b2 100644 Binary files a/public/images/pokemon/back/female/332.png and b/public/images/pokemon/back/female/332.png differ diff --git a/public/images/pokemon/back/female/396.png b/public/images/pokemon/back/female/396.png index 0222da73920..d18d4c1a99a 100644 Binary files a/public/images/pokemon/back/female/396.png and b/public/images/pokemon/back/female/396.png differ diff --git a/public/images/pokemon/back/female/397.png b/public/images/pokemon/back/female/397.png index a1f7f52a0e4..32768daead2 100644 Binary files a/public/images/pokemon/back/female/397.png and b/public/images/pokemon/back/female/397.png differ diff --git a/public/images/pokemon/back/female/398.png b/public/images/pokemon/back/female/398.png index 57fbb92e12f..bf296c54b91 100644 Binary files a/public/images/pokemon/back/female/398.png and b/public/images/pokemon/back/female/398.png differ diff --git a/public/images/pokemon/back/female/403.png b/public/images/pokemon/back/female/403.png index 68ed4a12507..b730b32f6ee 100644 Binary files a/public/images/pokemon/back/female/403.png and b/public/images/pokemon/back/female/403.png differ diff --git a/public/images/pokemon/back/female/404.png b/public/images/pokemon/back/female/404.png index d6fdef26c83..27602ee0439 100644 Binary files a/public/images/pokemon/back/female/404.png and b/public/images/pokemon/back/female/404.png differ diff --git a/public/images/pokemon/back/female/405.png b/public/images/pokemon/back/female/405.png index 21d28b1fede..1aa669e1fbd 100644 Binary files a/public/images/pokemon/back/female/405.png and b/public/images/pokemon/back/female/405.png differ diff --git a/public/images/pokemon/back/shiny/782.json b/public/images/pokemon/back/shiny/782.json index 326e8fa09de..ed58485e3bd 100644 --- a/public/images/pokemon/back/shiny/782.json +++ b/public/images/pokemon/back/shiny/782.json @@ -1,41 +1,1010 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 50, - "h": 50 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 46, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ab84568c98e2c8417dfbab0b26bf5b7a:bf5226700592a08e6818638b6aca1b1a:d07862436676aa228a148ee1f1d82a8f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0020.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0039.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0057.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 93, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 139, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 183, "y": 155, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 137, "y": 155, "w": 46, "h": 48 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 26, "w": 46, "h": 48 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0076.png", + "frame": { "x": 1, "y": 157, "w": 45, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 25, "w": 45, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 47, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 92, "y": 155, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 47, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 189, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 189, "y": 52, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 48, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 1, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 47, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 139, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0094.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 139, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 139, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 185, "y": 103, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 1, "y": 105, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 23, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 189, "y": 52, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 189, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 22, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "782.png", + "format": "I8", + "size": { "w": 237, "h": 207 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/shiny/782.png b/public/images/pokemon/back/shiny/782.png index a775abe8bf4..e5bed3d1642 100644 Binary files a/public/images/pokemon/back/shiny/782.png and b/public/images/pokemon/back/shiny/782.png differ diff --git a/public/images/pokemon/back/shiny/783.json b/public/images/pokemon/back/shiny/783.json index 253da2ab9a8..17ec3df99a0 100644 --- a/public/images/pokemon/back/shiny/783.json +++ b/public/images/pokemon/back/shiny/783.json @@ -1,41 +1,965 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 69, - "h": 69 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 66, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 66, - "h": 69 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:e5544237a4fd9ef3e516be84f3a24a8a:dd780189298088c8e8eb741377c46b07:aab166e28c744865a0296041224dd01b$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 268, "y": 276, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 480, "y": 273, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 1, "y": 342, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 262, "y": 345, "w": 62, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 62, "h": 71 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 65, "y": 344, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 342, "y": 275, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 132, "y": 278, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 1, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 197, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 324, "y": 345, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 1, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 511, "y": 412, "w": 61, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 61, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 449, "y": 412, "w": 62, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 62, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 128, "y": 347, "w": 64, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 64, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 407, "y": 342, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 202, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 136, "y": 208, "w": 66, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 66, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 67, "y": 274, "w": 65, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 1, "w": 65, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 139, "y": 138, "w": 67, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 67, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 290, "y": 1, "w": 69, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 1, "w": 69, "h": 70 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 147, "y": 1, "w": 71, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 71, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 483, "y": 206, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 4, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 141, "y": 70, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 499, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 356, "y": 137, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 424, "y": 138, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 430, "y": 1, "w": 69, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 498, "y": 70, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 206, "y": 206, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 414, "y": 206, "w": 69, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 1, "w": 69, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 192, "y": 410, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 2, "w": 63, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 324, "y": 413, "w": 59, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 59, "h": 67 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 63, "y": 414, "w": 58, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 3, "w": 58, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 388, "y": 410, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 472, "y": 343, "w": 64, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 64, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 414, "y": 273, "w": 66, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 66, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 288, "y": 71, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 218, "y": 1, "w": 72, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 72, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 1, "y": 137, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0091.png", + "frame": { "x": 359, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0092.png", + "frame": { "x": 218, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0093.png", + "frame": { "x": 74, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0094.png", + "frame": { "x": 70, "y": 137, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0095.png", + "frame": { "x": 71, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0096.png", + "frame": { "x": 1, "y": 69, "w": 70, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 70, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0097.png", + "frame": { "x": 1, "y": 1, "w": 73, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 73, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0098.png", + "frame": { "x": 279, "y": 140, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0099.png", + "frame": { "x": 492, "y": 138, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0100.png", + "frame": { "x": 429, "y": 70, "w": 69, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 69, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0101.png", + "frame": { "x": 359, "y": 1, "w": 71, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 71, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0102.png", + "frame": { "x": 1, "y": 205, "w": 68, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 68, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0103.png", + "frame": { "x": 275, "y": 208, "w": 67, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 67, "h": 68 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0104.png", + "frame": { "x": 211, "y": 137, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0105.png", + "frame": { "x": 69, "y": 205, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + }, + { + "filename": "0106.png", + "frame": { "x": 347, "y": 206, "w": 67, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 67, "h": 69 }, + "sourceSize": { "w": 75, "h": 71 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "783.png", + "format": "I8", + "size": { "w": 573, "h": 483 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/shiny/783.png b/public/images/pokemon/back/shiny/783.png index 6ba2506ecc8..30d6c49f5e0 100644 Binary files a/public/images/pokemon/back/shiny/783.png and b/public/images/pokemon/back/shiny/783.png differ diff --git a/public/images/pokemon/back/shiny/784.json b/public/images/pokemon/back/shiny/784.json index 552fb3c9595..87ddecc06fb 100644 --- a/public/images/pokemon/back/shiny/784.json +++ b/public/images/pokemon/back/shiny/784.json @@ -1,41 +1,812 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 92, - "h": 92 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 92, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 92, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 92, - "h": 81 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:3e83e25b8e7e32a8993a48c7e36af553:6ed75435976e4481fad74457807089c7:c2f7ca3ab1075b8c824730653d891244$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 183, "y": 233, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 1, "y": 160, "w": 94, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 94, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 530, "y": 81, "w": 98, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 98, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 530, "y": 1, "w": 103, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 5, "w": 103, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 324, "y": 1, "w": 106, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 106, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 1, "y": 1, "w": 110, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 6, "w": 110, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 214, "y": 1, "w": 110, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 7, "w": 110, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 633, "y": 1, "w": 106, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 8, "w": 106, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 198, "y": 156, "w": 102, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 8, "w": 102, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 300, "y": 159, "w": 97, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 97, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 95, "y": 166, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 358, "y": 241, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 25, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 681, "y": 318, "w": 81, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 6, "w": 81, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 87, "y": 249, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 441, "y": 242, "w": 84, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 84, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 273, "y": 239, "w": 85, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 18, "y": 4, "w": 85, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 397, "y": 160, "w": 93, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 93, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 101, "y": 85, "w": 97, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 4, "w": 97, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 1, "y": 80, "w": 100, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 5, "w": 100, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 633, "y": 78, "w": 102, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 6, "w": 102, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 214, "y": 79, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 420, "y": 84, "w": 104, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 9, "w": 104, "h": 76 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 318, "y": 81, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 628, "y": 157, "w": 96, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 4, "w": 96, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 430, "y": 1, "w": 100, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 100, "h": 83 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 111, "y": 1, "w": 103, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 103, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 490, "y": 162, "w": 92, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 13, "y": 5, "w": 92, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 327, "y": 322, "w": 75, "h": 85 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 33, "y": 0, "w": 75, "h": 85 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 476, "y": 400, "w": 72, "h": 74 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 12, "w": 72, "h": 74 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 153, "y": 394, "w": 72, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 5, "w": 72, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 681, "y": 397, "w": 72, "h": 75 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 36, "y": 10, "w": 72, "h": 75 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 80, "y": 329, "w": 73, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 35, "y": 5, "w": 73, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 402, "y": 322, "w": 74, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 34, "y": 3, "w": 74, "h": 82 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 251, "y": 320, "w": 76, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 31, "y": 1, "w": 76, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 604, "y": 318, "w": 77, "h": 84 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 29, "y": 1, "w": 77, "h": 84 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 525, "y": 318, "w": 79, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 3, "w": 79, "h": 82 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 320, "w": 79, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 24, "y": 4, "w": 79, "h": 81 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 169, "y": 314, "w": 82, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 21, "y": 5, "w": 82, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 1, "y": 241, "w": 86, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 17, "y": 6, "w": 86, "h": 79 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 672, "y": 238, "w": 87, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 15, "y": 5, "w": 87, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 582, "y": 238, "w": 90, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 12, "y": 5, "w": 90, "h": 80 }, + "sourceSize": { "w": 112, "h": 86 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "784.png", + "format": "I8", + "size": { "w": 763, "h": 475 }, + "scale": "1" + } } diff --git a/public/images/pokemon/back/shiny/784.png b/public/images/pokemon/back/shiny/784.png index c32690792ac..51a3962a6ea 100644 Binary files a/public/images/pokemon/back/shiny/784.png and b/public/images/pokemon/back/shiny/784.png differ diff --git a/public/images/pokemon/exp/2038.png b/public/images/pokemon/exp/2038.png index c6fdb999df3..f6295093fcc 100644 Binary files a/public/images/pokemon/exp/2038.png and b/public/images/pokemon/exp/2038.png differ diff --git a/public/images/pokemon/exp/692.png b/public/images/pokemon/exp/692.png index 1e42cbf47fa..a22655931a8 100644 Binary files a/public/images/pokemon/exp/692.png and b/public/images/pokemon/exp/692.png differ diff --git a/public/images/pokemon/exp/780.png b/public/images/pokemon/exp/780.png index 3453365f154..69a13eb3bf6 100644 Binary files a/public/images/pokemon/exp/780.png and b/public/images/pokemon/exp/780.png differ diff --git a/public/images/pokemon/exp/782.json b/public/images/pokemon/exp/782.json deleted file mode 100644 index ea51775cf3e..00000000000 --- a/public/images/pokemon/exp/782.json +++ /dev/null @@ -1,2351 +0,0 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 240, - "h": 240 - }, - "scale": 1, - "frames": [ - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 97, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 50, - "w": 48, - "h": 52 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 145, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 145, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:9772e042208152c03f4677b5a37d739c:828b3c5d233c21ed5ab3c368a1cf1988:d07862436676aa228a148ee1f1d82a8f$" - } -} diff --git a/public/images/pokemon/exp/782.png b/public/images/pokemon/exp/782.png deleted file mode 100644 index 9ca666d0a74..00000000000 Binary files a/public/images/pokemon/exp/782.png and /dev/null differ diff --git a/public/images/pokemon/exp/783.json b/public/images/pokemon/exp/783.json deleted file mode 100644 index 71aeb29890a..00000000000 --- a/public/images/pokemon/exp/783.json +++ /dev/null @@ -1,1154 +0,0 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 335, - "h": 335 - }, - "scale": 1, - "frames": [ - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 74, - "h": 67 - }, - "frame": { - "x": 0, - "y": 0, - "w": 74, - "h": 67 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 67, - "w": 71, - "h": 68 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 67, - "w": 71, - "h": 68 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 67, - "w": 71, - "h": 68 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 71, - "h": 68 - }, - "frame": { - "x": 0, - "y": 135, - "w": 71, - "h": 68 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 0, - "y": 203, - "w": 67, - "h": 69 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 0, - "y": 203, - "w": 67, - "h": 69 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 0, - "y": 203, - "w": 67, - "h": 69 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 74, - "y": 0, - "w": 70, - "h": 66 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 144, - "y": 0, - "w": 70, - "h": 66 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 214, - "y": 0, - "w": 70, - "h": 66 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 67, - "y": 203, - "w": 62, - "h": 69 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 64, - "h": 69 - }, - "frame": { - "x": 71, - "y": 67, - "w": 64, - "h": 69 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 71, - "y": 136, - "w": 64, - "h": 67 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 67, - "h": 69 - }, - "frame": { - "x": 135, - "y": 66, - "w": 67, - "h": 69 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 202, - "y": 66, - "w": 70, - "h": 66 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 135, - "w": 69, - "h": 66 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 204, - "y": 132, - "w": 69, - "h": 66 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 66, - "w": 62, - "h": 69 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 62, - "h": 69 - }, - "frame": { - "x": 273, - "y": 135, - "w": 62, - "h": 69 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 204, - "y": 198, - "w": 69, - "h": 66 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 201, - "w": 69, - "h": 66 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 69, - "h": 66 - }, - "frame": { - "x": 135, - "y": 201, - "w": 69, - "h": 66 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 61, - "h": 68 - }, - "frame": { - "x": 273, - "y": 204, - "w": 61, - "h": 68 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 70, - "h": 66 - }, - "frame": { - "x": 129, - "y": 267, - "w": 70, - "h": 66 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 74, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 64, - "h": 67 - }, - "frame": { - "x": 199, - "y": 267, - "w": 64, - "h": 67 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:f33a08a20212ca30a4c442095b0effc2:91a27eccd7f819b29aa8e5f9bc790c41:aab166e28c744865a0296041224dd01b$" - } -} diff --git a/public/images/pokemon/exp/783.png b/public/images/pokemon/exp/783.png deleted file mode 100644 index 58372a977c6..00000000000 Binary files a/public/images/pokemon/exp/783.png and /dev/null differ diff --git a/public/images/pokemon/exp/784.json b/public/images/pokemon/exp/784.json deleted file mode 100644 index 4200616ecef..00000000000 --- a/public/images/pokemon/exp/784.json +++ /dev/null @@ -1,1826 +0,0 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 461, - "h": 461 - }, - "scale": 1, - "frames": [ - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 353, - "w": 92, - "h": 89 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 92, - "h": 89 - }, - "frame": { - "x": 92, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 86, - "h": 87 - }, - "frame": { - "x": 375, - "y": 0, - "w": 86, - "h": 87 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 86, - "h": 87 - }, - "frame": { - "x": 375, - "y": 87, - "w": 86, - "h": 87 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 188, - "y": 177, - "w": 89, - "h": 89 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 281, - "y": 89, - "w": 89, - "h": 89 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 89 - }, - "frame": { - "x": 272, - "y": 267, - "w": 87, - "h": 89 - } - }, - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 89 - }, - "frame": { - "x": 270, - "y": 356, - "w": 87, - "h": 89 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 359, - "y": 267, - "w": 87, - "h": 87 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 365, - "y": 178, - "w": 87, - "h": 87 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 357, - "y": 356, - "w": 87, - "h": 87 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 357, - "y": 356, - "w": 87, - "h": 87 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:fd28dfd35a375d4d0d568c72bbbe079f:b186d9a5868eaf1d0a3bd9bcddd90d79:c2f7ca3ab1075b8c824730653d891244$" - } -} diff --git a/public/images/pokemon/exp/784.png b/public/images/pokemon/exp/784.png deleted file mode 100644 index e3e384d4699..00000000000 Binary files a/public/images/pokemon/exp/784.png and /dev/null differ diff --git a/public/images/pokemon/exp/840.png b/public/images/pokemon/exp/840.png index 3e76cd5fff8..86b701fa0d7 100644 Binary files a/public/images/pokemon/exp/840.png and b/public/images/pokemon/exp/840.png differ diff --git a/public/images/pokemon/exp/841.png b/public/images/pokemon/exp/841.png index 2bf0ad3b138..564ffaa0f27 100644 Binary files a/public/images/pokemon/exp/841.png and b/public/images/pokemon/exp/841.png differ diff --git a/public/images/pokemon/exp/842.png b/public/images/pokemon/exp/842.png index 85b9ae30fe0..41c2ebcf7d4 100644 Binary files a/public/images/pokemon/exp/842.png and b/public/images/pokemon/exp/842.png differ diff --git a/public/images/pokemon/exp/871.png b/public/images/pokemon/exp/871.png index d4ffceea07a..8f03d72f0b3 100644 Binary files a/public/images/pokemon/exp/871.png and b/public/images/pokemon/exp/871.png differ diff --git a/public/images/pokemon/exp/back/2038.png b/public/images/pokemon/exp/back/2038.png index 9ad8025933a..f4a022692a1 100644 Binary files a/public/images/pokemon/exp/back/2038.png and b/public/images/pokemon/exp/back/2038.png differ diff --git a/public/images/pokemon/exp/back/692.png b/public/images/pokemon/exp/back/692.png index e3eb957a624..33059d53c05 100644 Binary files a/public/images/pokemon/exp/back/692.png and b/public/images/pokemon/exp/back/692.png differ diff --git a/public/images/pokemon/exp/back/750.png b/public/images/pokemon/exp/back/750.png index 1c9391b5f7a..5ecd848832e 100644 Binary files a/public/images/pokemon/exp/back/750.png and b/public/images/pokemon/exp/back/750.png differ diff --git a/public/images/pokemon/exp/back/782.json b/public/images/pokemon/exp/back/782.json deleted file mode 100644 index aa9698c6554..00000000000 --- a/public/images/pokemon/exp/back/782.json +++ /dev/null @@ -1,2351 +0,0 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 239, - "h": 239 - }, - "scale": 1, - "frames": [ - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:48f53f968d06c5de2d5b76e15505b755:5d901e7ac581518a4fe6730bcf366c83:d07862436676aa228a148ee1f1d82a8f$" - } -} diff --git a/public/images/pokemon/exp/back/782.png b/public/images/pokemon/exp/back/782.png deleted file mode 100644 index 402ac12f53a..00000000000 Binary files a/public/images/pokemon/exp/back/782.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/783.json b/public/images/pokemon/exp/back/783.json deleted file mode 100644 index ea0bcf61b16..00000000000 --- a/public/images/pokemon/exp/back/783.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 170, - "h": 170 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 60, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 60, - "h": 69 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 59, - "h": 70 - }, - "frame": { - "x": 0, - "y": 69, - "w": 59, - "h": 70 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 59, - "h": 70 - }, - "frame": { - "x": 0, - "y": 69, - "w": 59, - "h": 70 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 57, - "h": 70 - }, - "frame": { - "x": 60, - "y": 0, - "w": 57, - "h": 70 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 57, - "h": 70 - }, - "frame": { - "x": 60, - "y": 0, - "w": 57, - "h": 70 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 53, - "h": 70 - }, - "frame": { - "x": 117, - "y": 0, - "w": 53, - "h": 70 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 59, - "y": 70, - "w": 55, - "h": 70 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 59, - "y": 70, - "w": 55, - "h": 70 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 114, - "y": 70, - "w": 55, - "h": 70 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 114, - "y": 70, - "w": 55, - "h": 70 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:20660c9e03072cd65380bda5628411e8:a05376d2ce003dccda577a6cc48e817b:aab166e28c744865a0296041224dd01b$" - } -} diff --git a/public/images/pokemon/exp/back/783.png b/public/images/pokemon/exp/back/783.png deleted file mode 100644 index ea3deeb1a40..00000000000 Binary files a/public/images/pokemon/exp/back/783.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/784.json b/public/images/pokemon/exp/back/784.json deleted file mode 100644 index 7ff49909f1a..00000000000 --- a/public/images/pokemon/exp/back/784.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 240, - "h": 240 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 87, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 87, - "h": 81 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 84, - "h": 81 - }, - "frame": { - "x": 87, - "y": 0, - "w": 84, - "h": 81 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 84, - "h": 81 - }, - "frame": { - "x": 87, - "y": 0, - "w": 84, - "h": 81 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 81, - "h": 81 - }, - "frame": { - "x": 0, - "y": 81, - "w": 81, - "h": 81 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 81, - "h": 81 - }, - "frame": { - "x": 0, - "y": 81, - "w": 81, - "h": 81 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 78, - "h": 81 - }, - "frame": { - "x": 81, - "y": 81, - "w": 78, - "h": 81 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 78, - "h": 81 - }, - "frame": { - "x": 81, - "y": 81, - "w": 78, - "h": 81 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 79, - "h": 79 - }, - "frame": { - "x": 159, - "y": 81, - "w": 79, - "h": 79 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 78, - "h": 80 - }, - "frame": { - "x": 159, - "y": 160, - "w": 78, - "h": 80 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 87, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 78, - "h": 80 - }, - "frame": { - "x": 159, - "y": 160, - "w": 78, - "h": 80 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:e1718793cec57b03b57147eb8c643dea:df6891980c354d7d34cd79ab41de7d58:c2f7ca3ab1075b8c824730653d891244$" - } -} diff --git a/public/images/pokemon/exp/back/784.png b/public/images/pokemon/exp/back/784.png deleted file mode 100644 index 54522e52998..00000000000 Binary files a/public/images/pokemon/exp/back/784.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/840.json b/public/images/pokemon/exp/back/840.json index 4e49422dab7..eb5a925c565 100644 --- a/public/images/pokemon/exp/back/840.json +++ b/public/images/pokemon/exp/back/840.json @@ -1,230 +1,1145 @@ -{ - "textures": [ - { - "image": "840.png", - "format": "RGBA8888", - "size": { - "w": 95, - "h": 95 - }, - "scale": 1, - "frames": [ - { - "filename": "0004.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 42, - "w": 32, - "h": 42 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 42, - "w": 32, - "h": 42 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 32, - "h": 41 - }, - "frame": { - "x": 32, - "y": 0, - "w": 32, - "h": 41 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 32, - "h": 41 - }, - "frame": { - "x": 32, - "y": 0, - "w": 32, - "h": 41 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 31, - "h": 42 - }, - "frame": { - "x": 64, - "y": 0, - "w": 31, - "h": 42 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 31, - "h": 42 - }, - "frame": { - "x": 32, - "y": 41, - "w": 31, - "h": 42 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 31, - "h": 41 - }, - "frame": { - "x": 63, - "y": 42, - "w": 31, - "h": 41 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 31, - "h": 41 - }, - "frame": { - "x": 63, - "y": 42, - "w": 31, - "h": 41 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:b5d6af055845f0bb50dedd55de251612:02858b561d730304d719627e15bc2130:c6a93eb4343acba47be6c18cd2c93ef1$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0002.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0003.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0004.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0005.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0006.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0007.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0008.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0009.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0010.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0011.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0012.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0013.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0014.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0015.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0016.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0017.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0018.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0019.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0020.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0021.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0022.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0023.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0024.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0025.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0026.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0027.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0028.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0029.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0030.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0031.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0032.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0033.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0034.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0035.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0036.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0037.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0038.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0039.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0040.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0041.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0042.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0043.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0044.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0045.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0046.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0047.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0048.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0049.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0050.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0051.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0052.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0053.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0054.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0055.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0056.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0057.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0058.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0059.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0060.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0061.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0062.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0063.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0064.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0065.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0066.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0067.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0068.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0069.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0070.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0071.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0072.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0073.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0074.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0075.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0076.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0077.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0078.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0079.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0080.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0081.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0082.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0083.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0084.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0085.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0086.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0087.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0088.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0089.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0090.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0091.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0092.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0093.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0094.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0095.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0096.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0097.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0098.png", + "frame": { "x": 2, "y": 173, "w": 33, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 33, "h": 39 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0099.png", + "frame": { "x": 2, "y": 133, "w": 30, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 9, "w": 30, "h": 34 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0100.png", + "frame": { "x": 102, "y": 134, "w": 28, "h": 30 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 12, "w": 28, "h": 30 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0101.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0102.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0103.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0104.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 15, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0105.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 13, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0106.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0107.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0108.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0109.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0110.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 14, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0111.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0112.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0113.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 15, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0114.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 13, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0115.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0116.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0117.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0118.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0119.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 14, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0120.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0121.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0122.png", + "frame": { "x": 102, "y": 134, "w": 28, "h": 30 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 12, "w": 28, "h": 30 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0123.png", + "frame": { "x": 2, "y": 133, "w": 30, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 9, "w": 30, "h": 34 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0124.png", + "frame": { "x": 2, "y": 173, "w": 33, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 33, "h": 39 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0125.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0126.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "840.png", + "format": "I8", + "size": { "w": 222, "h": 214 }, + "scale": "1" + } } diff --git a/public/images/pokemon/exp/back/840.png b/public/images/pokemon/exp/back/840.png index ac6aa240888..29336b622e3 100644 Binary files a/public/images/pokemon/exp/back/840.png and b/public/images/pokemon/exp/back/840.png differ diff --git a/public/images/pokemon/exp/back/841.png b/public/images/pokemon/exp/back/841.png index 9e6ec5effb1..ecf344211ef 100644 Binary files a/public/images/pokemon/exp/back/841.png and b/public/images/pokemon/exp/back/841.png differ diff --git a/public/images/pokemon/exp/back/842.png b/public/images/pokemon/exp/back/842.png index e38feeb0b42..9258c511d25 100644 Binary files a/public/images/pokemon/exp/back/842.png and b/public/images/pokemon/exp/back/842.png differ diff --git a/public/images/pokemon/exp/back/871.png b/public/images/pokemon/exp/back/871.png index faf12b7d4a2..e20040e8a6a 100644 Binary files a/public/images/pokemon/exp/back/871.png and b/public/images/pokemon/exp/back/871.png differ diff --git a/public/images/pokemon/exp/back/shiny/692.png b/public/images/pokemon/exp/back/shiny/692.png index c1bb353a739..baee2adcd4f 100644 Binary files a/public/images/pokemon/exp/back/shiny/692.png and b/public/images/pokemon/exp/back/shiny/692.png differ diff --git a/public/images/pokemon/exp/back/shiny/782.json b/public/images/pokemon/exp/back/shiny/782.json deleted file mode 100644 index facd127868f..00000000000 --- a/public/images/pokemon/exp/back/shiny/782.json +++ /dev/null @@ -1,2351 +0,0 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 239, - "h": 239 - }, - "scale": 1, - "frames": [ - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 0, - "w": 47, - "h": 51 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 192, - "y": 51, - "w": 47, - "h": 51 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 96, - "y": 156, - "w": 48, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 144, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 102, - "w": 47, - "h": 50 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 47, - "h": 50 - }, - "frame": { - "x": 192, - "y": 152, - "w": 47, - "h": 50 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 2, - "y": 3, - "w": 47, - "h": 49 - }, - "frame": { - "x": 144, - "y": 154, - "w": 47, - "h": 49 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:037c9a33b267f5b73f2e7c10c87bf653:509435f895db2af666d45fff3ec043dc:d07862436676aa228a148ee1f1d82a8f$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/782.png b/public/images/pokemon/exp/back/shiny/782.png deleted file mode 100644 index 9ecbcf1f035..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/782.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/783.json b/public/images/pokemon/exp/back/shiny/783.json deleted file mode 100644 index c23c9116e10..00000000000 --- a/public/images/pokemon/exp/back/shiny/783.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 170, - "h": 170 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 60, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 60, - "h": 69 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 59, - "h": 70 - }, - "frame": { - "x": 0, - "y": 69, - "w": 59, - "h": 70 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 59, - "h": 70 - }, - "frame": { - "x": 0, - "y": 69, - "w": 59, - "h": 70 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 57, - "h": 70 - }, - "frame": { - "x": 60, - "y": 0, - "w": 57, - "h": 70 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 57, - "h": 70 - }, - "frame": { - "x": 60, - "y": 0, - "w": 57, - "h": 70 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 53, - "h": 70 - }, - "frame": { - "x": 117, - "y": 0, - "w": 53, - "h": 70 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 59, - "y": 70, - "w": 55, - "h": 70 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 59, - "y": 70, - "w": 55, - "h": 70 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 114, - "y": 70, - "w": 55, - "h": 70 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 60, - "h": 70 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 55, - "h": 70 - }, - "frame": { - "x": 114, - "y": 70, - "w": 55, - "h": 70 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ceb13eb26bf07b1a43fd9d23cef4895a:399ef100f2226bb28ca73ab82f617bd7:aab166e28c744865a0296041224dd01b$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/783.png b/public/images/pokemon/exp/back/shiny/783.png deleted file mode 100644 index fd57a32b55e..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/783.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/784.json b/public/images/pokemon/exp/back/shiny/784.json deleted file mode 100644 index 27f3d18b7d6..00000000000 --- a/public/images/pokemon/exp/back/shiny/784.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 240, - "h": 240 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 86, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 86, - "h": 81 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 84, - "h": 81 - }, - "frame": { - "x": 86, - "y": 0, - "w": 84, - "h": 81 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 84, - "h": 81 - }, - "frame": { - "x": 86, - "y": 0, - "w": 84, - "h": 81 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 81, - "h": 81 - }, - "frame": { - "x": 0, - "y": 81, - "w": 81, - "h": 81 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 81, - "h": 81 - }, - "frame": { - "x": 0, - "y": 81, - "w": 81, - "h": 81 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 78, - "h": 81 - }, - "frame": { - "x": 81, - "y": 81, - "w": 78, - "h": 81 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 0, - "w": 78, - "h": 81 - }, - "frame": { - "x": 81, - "y": 81, - "w": 78, - "h": 81 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 79, - "h": 79 - }, - "frame": { - "x": 159, - "y": 81, - "w": 79, - "h": 79 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 78, - "h": 80 - }, - "frame": { - "x": 159, - "y": 160, - "w": 78, - "h": 80 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 86, - "h": 81 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 78, - "h": 80 - }, - "frame": { - "x": 159, - "y": 160, - "w": 78, - "h": 80 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:841ddb49f9601ed6f43373fcdfd97a55:abdfda19e619b7f57eb4c9c5d68cc9d9:c2f7ca3ab1075b8c824730653d891244$" - } -} diff --git a/public/images/pokemon/exp/back/shiny/784.png b/public/images/pokemon/exp/back/shiny/784.png deleted file mode 100644 index fdec2486c56..00000000000 Binary files a/public/images/pokemon/exp/back/shiny/784.png and /dev/null differ diff --git a/public/images/pokemon/exp/back/shiny/840.json b/public/images/pokemon/exp/back/shiny/840.json index ccacb7508ff..eb5a925c565 100644 --- a/public/images/pokemon/exp/back/shiny/840.json +++ b/public/images/pokemon/exp/back/shiny/840.json @@ -1,230 +1,1145 @@ -{ - "textures": [ - { - "image": "840.png", - "format": "RGBA8888", - "size": { - "w": 95, - "h": 95 - }, - "scale": 1, - "frames": [ - { - "filename": "0004.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 42, - "w": 32, - "h": 42 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 42 - }, - "frame": { - "x": 0, - "y": 42, - "w": 32, - "h": 42 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 32, - "h": 41 - }, - "frame": { - "x": 32, - "y": 0, - "w": 32, - "h": 41 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 32, - "h": 41 - }, - "frame": { - "x": 32, - "y": 0, - "w": 32, - "h": 41 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 31, - "h": 42 - }, - "frame": { - "x": 64, - "y": 0, - "w": 31, - "h": 42 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 31, - "h": 42 - }, - "frame": { - "x": 32, - "y": 41, - "w": 31, - "h": 42 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 31, - "h": 41 - }, - "frame": { - "x": 63, - "y": 42, - "w": 31, - "h": 41 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 42 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 31, - "h": 41 - }, - "frame": { - "x": 63, - "y": 42, - "w": 31, - "h": 41 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c19a2ef85c7903c2a4c922be93e361d7:7a1608b4463c8ee6cb033125d1c506b4:c6a93eb4343acba47be6c18cd2c93ef1$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0002.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0003.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0004.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0005.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0006.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0007.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0008.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0009.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0010.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0011.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0012.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0013.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0014.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0015.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0016.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0017.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0018.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0019.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0020.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0021.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0022.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0023.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0024.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0025.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0026.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0027.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0028.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0029.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0030.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0031.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0032.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0033.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0034.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0035.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0036.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0037.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0038.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0039.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0040.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0041.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0042.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0043.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0044.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0045.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0046.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0047.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0048.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0049.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0050.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0051.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0052.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0053.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0054.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0055.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0056.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0057.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0058.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0059.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0060.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0061.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0062.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0063.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0064.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0065.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0066.png", + "frame": { "x": 136, "y": 90, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0067.png", + "frame": { "x": 171, "y": 91, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0068.png", + "frame": { "x": 37, "y": 44, "w": 34, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 34, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0069.png", + "frame": { "x": 79, "y": 2, "w": 35, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 35, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0070.png", + "frame": { "x": 41, "y": 2, "w": 36, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 36, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0071.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0072.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0073.png", + "frame": { "x": 2, "y": 2, "w": 37, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 37, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0074.png", + "frame": { "x": 116, "y": 2, "w": 34, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 34, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0075.png", + "frame": { "x": 35, "y": 131, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0076.png", + "frame": { "x": 136, "y": 132, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0077.png", + "frame": { "x": 171, "y": 133, "w": 33, "h": 40 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 33, "h": 40 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0078.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0079.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0080.png", + "frame": { "x": 152, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0081.png", + "frame": { "x": 108, "y": 45, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0082.png", + "frame": { "x": 176, "y": 46, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0083.png", + "frame": { "x": 37, "y": 86, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0084.png", + "frame": { "x": 70, "y": 87, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0085.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0086.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0087.png", + "frame": { "x": 2, "y": 88, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0088.png", + "frame": { "x": 70, "y": 132, "w": 30, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 30, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0089.png", + "frame": { "x": 103, "y": 89, "w": 31, "h": 43 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 31, "h": 43 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0090.png", + "frame": { "x": 142, "y": 46, "w": 32, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 32, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0091.png", + "frame": { "x": 187, "y": 2, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0092.png", + "frame": { "x": 2, "y": 44, "w": 33, "h": 42 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 1, "w": 33, "h": 42 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0093.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0094.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0095.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0096.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0097.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0098.png", + "frame": { "x": 2, "y": 173, "w": 33, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 33, "h": 39 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0099.png", + "frame": { "x": 2, "y": 133, "w": 30, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 9, "w": 30, "h": 34 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0100.png", + "frame": { "x": 102, "y": 134, "w": 28, "h": 30 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 12, "w": 28, "h": 30 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0101.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0102.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0103.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0104.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 15, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0105.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 13, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0106.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0107.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0108.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0109.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0110.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 14, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0111.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0112.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0113.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 15, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0114.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 13, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0115.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0116.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0117.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 11, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0118.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 12, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0119.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 14, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0120.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0121.png", + "frame": { "x": 102, "y": 166, "w": 27, "h": 25 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 17, "w": 27, "h": 25 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0122.png", + "frame": { "x": 102, "y": 134, "w": 28, "h": 30 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 12, "w": 28, "h": 30 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0123.png", + "frame": { "x": 2, "y": 133, "w": 30, "h": 34 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 9, "w": 30, "h": 34 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0124.png", + "frame": { "x": 2, "y": 173, "w": 33, "h": 39 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 4, "w": 33, "h": 39 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0125.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + }, + { + "filename": "0126.png", + "frame": { "x": 73, "y": 44, "w": 33, "h": 41 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 33, "h": 41 }, + "sourceSize": { "w": 37, "h": 44 }, + "duration": 80 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "840.png", + "format": "I8", + "size": { "w": 222, "h": 214 }, + "scale": "1" + } } diff --git a/public/images/pokemon/exp/back/shiny/840.png b/public/images/pokemon/exp/back/shiny/840.png index 9a800ab956c..e37bd252d7b 100644 Binary files a/public/images/pokemon/exp/back/shiny/840.png and b/public/images/pokemon/exp/back/shiny/840.png differ diff --git a/public/images/pokemon/exp/shiny/692.png b/public/images/pokemon/exp/shiny/692.png index 3d938d6e64a..d46c585bdfb 100644 Binary files a/public/images/pokemon/exp/shiny/692.png and b/public/images/pokemon/exp/shiny/692.png differ diff --git a/public/images/pokemon/exp/shiny/782.json b/public/images/pokemon/exp/shiny/782.json deleted file mode 100644 index f06c3d4755e..00000000000 --- a/public/images/pokemon/exp/shiny/782.json +++ /dev/null @@ -1,2351 +0,0 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 240, - "h": 240 - }, - "scale": 1, - "frames": [ - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0111.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0110.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 104, - "w": 48, - "h": 52 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 0, - "y": 156, - "w": 48, - "h": 52 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 49, - "h": 50 - }, - "frame": { - "x": 48, - "y": 0, - "w": 49, - "h": 50 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 97, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 50, - "w": 48, - "h": 52 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 145, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0108.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 145, - "y": 0, - "w": 48, - "h": 52 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0105.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 47, - "h": 52 - }, - "frame": { - "x": 193, - "y": 0, - "w": 47, - "h": 52 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 102, - "w": 48, - "h": 52 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 48, - "y": 154, - "w": 48, - "h": 52 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0106.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0107.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 96, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0109.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 48, - "h": 52 - }, - "frame": { - "x": 144, - "y": 52, - "w": 48, - "h": 52 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 52, - "w": 48, - "h": 51 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 48, - "h": 51 - }, - "frame": { - "x": 192, - "y": 103, - "w": 48, - "h": 51 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 47, - "h": 51 - }, - "frame": { - "x": 96, - "y": 154, - "w": 47, - "h": 51 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 48, - "h": 50 - }, - "frame": { - "x": 96, - "y": 104, - "w": 48, - "h": 50 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 104, - "w": 48, - "h": 48 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 144, - "y": 152, - "w": 48, - "h": 48 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 49, - "h": 52 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 48, - "h": 48 - }, - "frame": { - "x": 192, - "y": 154, - "w": 48, - "h": 48 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:be0dbbdbd852ebe341842d9712f73e7d:1cd4bec3148a80480f6568f4c8920125:d07862436676aa228a148ee1f1d82a8f$" - } -} diff --git a/public/images/pokemon/exp/shiny/782.png b/public/images/pokemon/exp/shiny/782.png deleted file mode 100644 index 5998d9f9d7a..00000000000 Binary files a/public/images/pokemon/exp/shiny/782.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/783.json b/public/images/pokemon/exp/shiny/783.json deleted file mode 100644 index 440e495598b..00000000000 --- a/public/images/pokemon/exp/shiny/783.json +++ /dev/null @@ -1,2204 +0,0 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 279, - "h": 279 - }, - "scale": 1, - "frames": [ - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 0, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 0, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 0, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 64, - "h": 71 - }, - "frame": { - "x": 64, - "y": 0, - "w": 64, - "h": 71 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 128, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 128, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 191, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 191, - "y": 0, - "w": 63, - "h": 71 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 0, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 63, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 63, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 63, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 63, - "h": 71 - }, - "frame": { - "x": 126, - "y": 71, - "w": 63, - "h": 71 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 189, - "y": 71, - "w": 62, - "h": 71 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 189, - "y": 71, - "w": 62, - "h": 71 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 1, - "w": 63, - "h": 70 - }, - "frame": { - "x": 0, - "y": 142, - "w": 63, - "h": 70 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 63, - "y": 142, - "w": 62, - "h": 71 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 63, - "y": 142, - "w": 62, - "h": 71 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 62, - "h": 71 - }, - "frame": { - "x": 63, - "y": 142, - "w": 62, - "h": 71 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0103.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0104.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 58, - "h": 67 - }, - "frame": { - "x": 0, - "y": 212, - "w": 58, - "h": 67 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 2, - "w": 62, - "h": 69 - }, - "frame": { - "x": 125, - "y": 142, - "w": 62, - "h": 69 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 60, - "h": 71 - }, - "frame": { - "x": 187, - "y": 142, - "w": 60, - "h": 71 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 60, - "h": 68 - }, - "frame": { - "x": 125, - "y": 211, - "w": 60, - "h": 68 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0101.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - }, - { - "filename": "0102.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 65, - "h": 71 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 55, - "h": 65 - }, - "frame": { - "x": 58, - "y": 213, - "w": 55, - "h": 65 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:0398d2a32d121507cf95d3e4033a4847:6e131e2820d0625f17f5819dbe95feea:aab166e28c744865a0296041224dd01b$" - } -} diff --git a/public/images/pokemon/exp/shiny/783.png b/public/images/pokemon/exp/shiny/783.png deleted file mode 100644 index 92ea294de9f..00000000000 Binary files a/public/images/pokemon/exp/shiny/783.png and /dev/null differ diff --git a/public/images/pokemon/exp/shiny/784.json b/public/images/pokemon/exp/shiny/784.json deleted file mode 100644 index 0d32fcd217e..00000000000 --- a/public/images/pokemon/exp/shiny/784.json +++ /dev/null @@ -1,1826 +0,0 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 461, - "h": 461 - }, - "scale": 1, - "frames": [ - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 0, - "w": 96, - "h": 88 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 0, - "y": 176, - "w": 96, - "h": 88 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 88 - }, - "frame": { - "x": 96, - "y": 88, - "w": 96, - "h": 88 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 94, - "h": 88 - }, - "frame": { - "x": 192, - "y": 0, - "w": 94, - "h": 88 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 1, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 92, - "h": 89 - }, - "frame": { - "x": 0, - "y": 353, - "w": 92, - "h": 89 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 92, - "h": 88 - }, - "frame": { - "x": 96, - "y": 176, - "w": 92, - "h": 88 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 92, - "h": 89 - }, - "frame": { - "x": 92, - "y": 264, - "w": 92, - "h": 89 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 1, - "w": 90, - "h": 90 - }, - "frame": { - "x": 92, - "y": 353, - "w": 90, - "h": 90 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 192, - "y": 88, - "w": 89, - "h": 89 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 286, - "y": 0, - "w": 89, - "h": 89 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 86, - "h": 87 - }, - "frame": { - "x": 375, - "y": 0, - "w": 86, - "h": 87 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 86, - "h": 87 - }, - "frame": { - "x": 375, - "y": 87, - "w": 86, - "h": 87 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 188, - "y": 177, - "w": 89, - "h": 89 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 89, - "h": 89 - }, - "frame": { - "x": 281, - "y": 89, - "w": 89, - "h": 89 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 277, - "y": 178, - "w": 88, - "h": 89 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 184, - "y": 266, - "w": 88, - "h": 89 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 88, - "h": 89 - }, - "frame": { - "x": 182, - "y": 355, - "w": 88, - "h": 89 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 89 - }, - "frame": { - "x": 272, - "y": 267, - "w": 87, - "h": 89 - } - }, - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 87, - "h": 89 - }, - "frame": { - "x": 270, - "y": 356, - "w": 87, - "h": 89 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 359, - "y": 267, - "w": 87, - "h": 87 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 365, - "y": 178, - "w": 87, - "h": 87 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 357, - "y": 356, - "w": 87, - "h": 87 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 96, - "h": 91 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 87, - "h": 87 - }, - "frame": { - "x": 357, - "y": 356, - "w": 87, - "h": 87 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:ee5ed94dce71b1b77b0e9e09ac1d01d0:89b096ba9193e9faad415ff12ec9d93c:c2f7ca3ab1075b8c824730653d891244$" - } -} diff --git a/public/images/pokemon/exp/shiny/784.png b/public/images/pokemon/exp/shiny/784.png deleted file mode 100644 index 4fe57a70dec..00000000000 Binary files a/public/images/pokemon/exp/shiny/784.png and /dev/null differ diff --git a/public/images/pokemon/female/207.png b/public/images/pokemon/female/207.png index 071b72f9f07..48662a1a516 100644 Binary files a/public/images/pokemon/female/207.png and b/public/images/pokemon/female/207.png differ diff --git a/public/images/pokemon/female/332.png b/public/images/pokemon/female/332.png index 5a199f994eb..2100e4b9a10 100644 Binary files a/public/images/pokemon/female/332.png and b/public/images/pokemon/female/332.png differ diff --git a/public/images/pokemon/female/396.png b/public/images/pokemon/female/396.png index 0adaac1fe42..ee7debc27a9 100644 Binary files a/public/images/pokemon/female/396.png and b/public/images/pokemon/female/396.png differ diff --git a/public/images/pokemon/female/397.png b/public/images/pokemon/female/397.png index ecf63a03748..109a12dad7c 100644 Binary files a/public/images/pokemon/female/397.png and b/public/images/pokemon/female/397.png differ diff --git a/public/images/pokemon/female/398.png b/public/images/pokemon/female/398.png index cd3c1a54df4..d0af82f4f3b 100644 Binary files a/public/images/pokemon/female/398.png and b/public/images/pokemon/female/398.png differ diff --git a/public/images/pokemon/female/404.png b/public/images/pokemon/female/404.png index 67e68318f38..d05821148d4 100644 Binary files a/public/images/pokemon/female/404.png and b/public/images/pokemon/female/404.png differ diff --git a/public/images/pokemon/female/417.png b/public/images/pokemon/female/417.png index be3a2736e18..5b12e357477 100644 Binary files a/public/images/pokemon/female/417.png and b/public/images/pokemon/female/417.png differ diff --git a/public/images/pokemon/icons/7/746-school.png b/public/images/pokemon/icons/7/746-school.png index 837c67d9f63..d421210c2cf 100644 Binary files a/public/images/pokemon/icons/7/746-school.png and b/public/images/pokemon/icons/7/746-school.png differ diff --git a/public/images/pokemon/icons/7/746.png b/public/images/pokemon/icons/7/746.png index 5286054780e..3912ab26688 100644 Binary files a/public/images/pokemon/icons/7/746.png and b/public/images/pokemon/icons/7/746.png differ diff --git a/public/images/pokemon/icons/variant/1/143-gigantamax_2.png b/public/images/pokemon/icons/variant/1/143-gigantamax_2.png new file mode 100644 index 00000000000..036fe6d230d Binary files /dev/null and b/public/images/pokemon/icons/variant/1/143-gigantamax_2.png differ diff --git a/public/images/pokemon/icons/variant/1/143-gigantamax_3.png b/public/images/pokemon/icons/variant/1/143-gigantamax_3.png new file mode 100644 index 00000000000..5a4fe34da7c Binary files /dev/null and b/public/images/pokemon/icons/variant/1/143-gigantamax_3.png differ diff --git a/public/images/pokemon/icons/variant/1/143_2.png b/public/images/pokemon/icons/variant/1/143_2.png new file mode 100644 index 00000000000..a757c202eb6 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/143_2.png differ diff --git a/public/images/pokemon/icons/variant/1/143_3.png b/public/images/pokemon/icons/variant/1/143_3.png new file mode 100644 index 00000000000..0f6da40ca0d Binary files /dev/null and b/public/images/pokemon/icons/variant/1/143_3.png differ diff --git a/public/images/pokemon/icons/variant/1/32_2.png b/public/images/pokemon/icons/variant/1/32_2.png new file mode 100644 index 00000000000..83c7716c509 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/32_2.png differ diff --git a/public/images/pokemon/icons/variant/1/32_3.png b/public/images/pokemon/icons/variant/1/32_3.png new file mode 100644 index 00000000000..9bba8f3d9b9 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/32_3.png differ diff --git a/public/images/pokemon/icons/variant/1/33_2.png b/public/images/pokemon/icons/variant/1/33_2.png new file mode 100644 index 00000000000..151c2091077 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/33_2.png differ diff --git a/public/images/pokemon/icons/variant/1/33_3.png b/public/images/pokemon/icons/variant/1/33_3.png new file mode 100644 index 00000000000..84a8487116b Binary files /dev/null and b/public/images/pokemon/icons/variant/1/33_3.png differ diff --git a/public/images/pokemon/icons/variant/1/34_2.png b/public/images/pokemon/icons/variant/1/34_2.png new file mode 100644 index 00000000000..2d0477f7ff9 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/34_2.png differ diff --git a/public/images/pokemon/icons/variant/1/34_3.png b/public/images/pokemon/icons/variant/1/34_3.png new file mode 100644 index 00000000000..8e844c38605 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/34_3.png differ diff --git a/public/images/pokemon/icons/variant/1/88_2.png b/public/images/pokemon/icons/variant/1/88_2.png new file mode 100644 index 00000000000..164f98f7d80 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/88_2.png differ diff --git a/public/images/pokemon/icons/variant/1/88_3.png b/public/images/pokemon/icons/variant/1/88_3.png new file mode 100644 index 00000000000..6e90ad56d2a Binary files /dev/null and b/public/images/pokemon/icons/variant/1/88_3.png differ diff --git a/public/images/pokemon/icons/variant/1/89_2.png b/public/images/pokemon/icons/variant/1/89_2.png new file mode 100644 index 00000000000..533ebe86c9e Binary files /dev/null and b/public/images/pokemon/icons/variant/1/89_2.png differ diff --git a/public/images/pokemon/icons/variant/1/89_3.png b/public/images/pokemon/icons/variant/1/89_3.png new file mode 100644 index 00000000000..8caf93912d4 Binary files /dev/null and b/public/images/pokemon/icons/variant/1/89_3.png differ diff --git a/public/images/pokemon/icons/variant/2/187_2.png b/public/images/pokemon/icons/variant/2/187_2.png new file mode 100644 index 00000000000..c7da6a46115 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/187_2.png differ diff --git a/public/images/pokemon/icons/variant/2/187_3.png b/public/images/pokemon/icons/variant/2/187_3.png new file mode 100644 index 00000000000..6f118aed4f4 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/187_3.png differ diff --git a/public/images/pokemon/icons/variant/2/188_2.png b/public/images/pokemon/icons/variant/2/188_2.png new file mode 100644 index 00000000000..cbb7b690ff0 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/188_2.png differ diff --git a/public/images/pokemon/icons/variant/2/188_3.png b/public/images/pokemon/icons/variant/2/188_3.png new file mode 100644 index 00000000000..2c4e64cc608 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/188_3.png differ diff --git a/public/images/pokemon/icons/variant/2/189_2.png b/public/images/pokemon/icons/variant/2/189_2.png new file mode 100644 index 00000000000..ca5e127816a Binary files /dev/null and b/public/images/pokemon/icons/variant/2/189_2.png differ diff --git a/public/images/pokemon/icons/variant/2/189_3.png b/public/images/pokemon/icons/variant/2/189_3.png new file mode 100644 index 00000000000..dfee57baf86 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/189_3.png differ diff --git a/public/images/pokemon/icons/variant/2/204_2.png b/public/images/pokemon/icons/variant/2/204_2.png new file mode 100644 index 00000000000..e36cf0af684 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/204_2.png differ diff --git a/public/images/pokemon/icons/variant/2/204_3.png b/public/images/pokemon/icons/variant/2/204_3.png new file mode 100644 index 00000000000..5b5c4a70769 Binary files /dev/null and b/public/images/pokemon/icons/variant/2/204_3.png differ diff --git a/public/images/pokemon/icons/variant/2/205_2.png b/public/images/pokemon/icons/variant/2/205_2.png new file mode 100644 index 00000000000..5bf3cb2c83e Binary files /dev/null and b/public/images/pokemon/icons/variant/2/205_2.png differ diff --git a/public/images/pokemon/icons/variant/2/205_3.png b/public/images/pokemon/icons/variant/2/205_3.png new file mode 100644 index 00000000000..6e8d2e3dc7d Binary files /dev/null and b/public/images/pokemon/icons/variant/2/205_3.png differ diff --git a/public/images/pokemon/icons/variant/2/207_2.png b/public/images/pokemon/icons/variant/2/207_2.png index 206f38f6a0a..c24b731925e 100644 Binary files a/public/images/pokemon/icons/variant/2/207_2.png and b/public/images/pokemon/icons/variant/2/207_2.png differ diff --git a/public/images/pokemon/icons/variant/2/207_3.png b/public/images/pokemon/icons/variant/2/207_3.png index 7a0018836dd..1a5c00992ce 100644 Binary files a/public/images/pokemon/icons/variant/2/207_3.png and b/public/images/pokemon/icons/variant/2/207_3.png differ diff --git a/public/images/pokemon/icons/variant/3/299_2.png b/public/images/pokemon/icons/variant/3/299_2.png new file mode 100644 index 00000000000..fa674c3afda Binary files /dev/null and b/public/images/pokemon/icons/variant/3/299_2.png differ diff --git a/public/images/pokemon/icons/variant/3/299_3.png b/public/images/pokemon/icons/variant/3/299_3.png new file mode 100644 index 00000000000..68d8a893316 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/299_3.png differ diff --git a/public/images/pokemon/icons/variant/3/313_2.png b/public/images/pokemon/icons/variant/3/313_2.png new file mode 100644 index 00000000000..501bb3f859b Binary files /dev/null and b/public/images/pokemon/icons/variant/3/313_2.png differ diff --git a/public/images/pokemon/icons/variant/3/313_3.png b/public/images/pokemon/icons/variant/3/313_3.png new file mode 100644 index 00000000000..89c81375da8 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/313_3.png differ diff --git a/public/images/pokemon/icons/variant/3/314_2.png b/public/images/pokemon/icons/variant/3/314_2.png new file mode 100644 index 00000000000..0242553f41a Binary files /dev/null and b/public/images/pokemon/icons/variant/3/314_2.png differ diff --git a/public/images/pokemon/icons/variant/3/314_3.png b/public/images/pokemon/icons/variant/3/314_3.png new file mode 100644 index 00000000000..716ffccd3f2 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/314_3.png differ diff --git a/public/images/pokemon/icons/variant/3/325_2.png b/public/images/pokemon/icons/variant/3/325_2.png new file mode 100644 index 00000000000..0792a8aa840 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/325_2.png differ diff --git a/public/images/pokemon/icons/variant/3/325_3.png b/public/images/pokemon/icons/variant/3/325_3.png new file mode 100644 index 00000000000..dfd13bd75be Binary files /dev/null and b/public/images/pokemon/icons/variant/3/325_3.png differ diff --git a/public/images/pokemon/icons/variant/3/326_2.png b/public/images/pokemon/icons/variant/3/326_2.png new file mode 100644 index 00000000000..b23be901c9a Binary files /dev/null and b/public/images/pokemon/icons/variant/3/326_2.png differ diff --git a/public/images/pokemon/icons/variant/3/326_3.png b/public/images/pokemon/icons/variant/3/326_3.png new file mode 100644 index 00000000000..6c4025d0842 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/326_3.png differ diff --git a/public/images/pokemon/icons/variant/3/331_2.png b/public/images/pokemon/icons/variant/3/331_2.png new file mode 100644 index 00000000000..19b80296a1e Binary files /dev/null and b/public/images/pokemon/icons/variant/3/331_2.png differ diff --git a/public/images/pokemon/icons/variant/3/331_3.png b/public/images/pokemon/icons/variant/3/331_3.png new file mode 100644 index 00000000000..01b93a1d086 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/331_3.png differ diff --git a/public/images/pokemon/icons/variant/3/332_2.png b/public/images/pokemon/icons/variant/3/332_2.png new file mode 100644 index 00000000000..ff9077cec0a Binary files /dev/null and b/public/images/pokemon/icons/variant/3/332_2.png differ diff --git a/public/images/pokemon/icons/variant/3/332_3.png b/public/images/pokemon/icons/variant/3/332_3.png new file mode 100644 index 00000000000..c1c6cee7947 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/332_3.png differ diff --git a/public/images/pokemon/icons/variant/3/345_2.png b/public/images/pokemon/icons/variant/3/345_2.png new file mode 100644 index 00000000000..015696265f9 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/345_2.png differ diff --git a/public/images/pokemon/icons/variant/3/345_3.png b/public/images/pokemon/icons/variant/3/345_3.png new file mode 100644 index 00000000000..41ba6766c21 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/345_3.png differ diff --git a/public/images/pokemon/icons/variant/3/346_2.png b/public/images/pokemon/icons/variant/3/346_2.png new file mode 100644 index 00000000000..71e233c31cc Binary files /dev/null and b/public/images/pokemon/icons/variant/3/346_2.png differ diff --git a/public/images/pokemon/icons/variant/3/346_3.png b/public/images/pokemon/icons/variant/3/346_3.png new file mode 100644 index 00000000000..14514bb6183 Binary files /dev/null and b/public/images/pokemon/icons/variant/3/346_3.png differ diff --git a/public/images/pokemon/icons/variant/4/396_2.png b/public/images/pokemon/icons/variant/4/396_2.png new file mode 100644 index 00000000000..d7d23b494ab Binary files /dev/null and b/public/images/pokemon/icons/variant/4/396_2.png differ diff --git a/public/images/pokemon/icons/variant/4/396_3.png b/public/images/pokemon/icons/variant/4/396_3.png new file mode 100644 index 00000000000..6725912b199 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/396_3.png differ diff --git a/public/images/pokemon/icons/variant/4/397_2.png b/public/images/pokemon/icons/variant/4/397_2.png new file mode 100644 index 00000000000..f6982eeece4 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/397_2.png differ diff --git a/public/images/pokemon/icons/variant/4/397_3.png b/public/images/pokemon/icons/variant/4/397_3.png new file mode 100644 index 00000000000..83c2755599a Binary files /dev/null and b/public/images/pokemon/icons/variant/4/397_3.png differ diff --git a/public/images/pokemon/icons/variant/4/398_2.png b/public/images/pokemon/icons/variant/4/398_2.png new file mode 100644 index 00000000000..bbe04248c7b Binary files /dev/null and b/public/images/pokemon/icons/variant/4/398_2.png differ diff --git a/public/images/pokemon/icons/variant/4/398_3.png b/public/images/pokemon/icons/variant/4/398_3.png new file mode 100644 index 00000000000..a1d47a95b1a Binary files /dev/null and b/public/images/pokemon/icons/variant/4/398_3.png differ diff --git a/public/images/pokemon/icons/variant/4/403_2.png b/public/images/pokemon/icons/variant/4/403_2.png new file mode 100644 index 00000000000..410d3126e54 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/403_2.png differ diff --git a/public/images/pokemon/icons/variant/4/403_3.png b/public/images/pokemon/icons/variant/4/403_3.png new file mode 100644 index 00000000000..0064c7d7d3f Binary files /dev/null and b/public/images/pokemon/icons/variant/4/403_3.png differ diff --git a/public/images/pokemon/icons/variant/4/404_2.png b/public/images/pokemon/icons/variant/4/404_2.png new file mode 100644 index 00000000000..9bd7a6ed7bf Binary files /dev/null and b/public/images/pokemon/icons/variant/4/404_2.png differ diff --git a/public/images/pokemon/icons/variant/4/404_3.png b/public/images/pokemon/icons/variant/4/404_3.png new file mode 100644 index 00000000000..5ec14183070 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/404_3.png differ diff --git a/public/images/pokemon/icons/variant/4/405_2.png b/public/images/pokemon/icons/variant/4/405_2.png new file mode 100644 index 00000000000..28515b8350b Binary files /dev/null and b/public/images/pokemon/icons/variant/4/405_2.png differ diff --git a/public/images/pokemon/icons/variant/4/405_3.png b/public/images/pokemon/icons/variant/4/405_3.png new file mode 100644 index 00000000000..82f0270bd5b Binary files /dev/null and b/public/images/pokemon/icons/variant/4/405_3.png differ diff --git a/public/images/pokemon/icons/variant/4/420_2.png b/public/images/pokemon/icons/variant/4/420_2.png new file mode 100644 index 00000000000..194ae1213e3 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/420_2.png differ diff --git a/public/images/pokemon/icons/variant/4/420_3.png b/public/images/pokemon/icons/variant/4/420_3.png new file mode 100644 index 00000000000..71116e40243 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/420_3.png differ diff --git a/public/images/pokemon/icons/variant/4/421-overcast_2.png b/public/images/pokemon/icons/variant/4/421-overcast_2.png new file mode 100644 index 00000000000..0a8260baf49 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/421-overcast_2.png differ diff --git a/public/images/pokemon/icons/variant/4/421-overcast_3.png b/public/images/pokemon/icons/variant/4/421-overcast_3.png new file mode 100644 index 00000000000..91fb8ef3d5f Binary files /dev/null and b/public/images/pokemon/icons/variant/4/421-overcast_3.png differ diff --git a/public/images/pokemon/icons/variant/4/421-sunshine_2.png b/public/images/pokemon/icons/variant/4/421-sunshine_2.png new file mode 100644 index 00000000000..4872654e4be Binary files /dev/null and b/public/images/pokemon/icons/variant/4/421-sunshine_2.png differ diff --git a/public/images/pokemon/icons/variant/4/421-sunshine_3.png b/public/images/pokemon/icons/variant/4/421-sunshine_3.png new file mode 100644 index 00000000000..d615119bdf2 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/421-sunshine_3.png differ diff --git a/public/images/pokemon/icons/variant/4/446_2.png b/public/images/pokemon/icons/variant/4/446_2.png new file mode 100644 index 00000000000..900f3a5996b Binary files /dev/null and b/public/images/pokemon/icons/variant/4/446_2.png differ diff --git a/public/images/pokemon/icons/variant/4/446_3.png b/public/images/pokemon/icons/variant/4/446_3.png new file mode 100644 index 00000000000..04c40204baf Binary files /dev/null and b/public/images/pokemon/icons/variant/4/446_3.png differ diff --git a/public/images/pokemon/icons/variant/4/476_2.png b/public/images/pokemon/icons/variant/4/476_2.png new file mode 100644 index 00000000000..9b36a6f127e Binary files /dev/null and b/public/images/pokemon/icons/variant/4/476_2.png differ diff --git a/public/images/pokemon/icons/variant/4/476_3.png b/public/images/pokemon/icons/variant/4/476_3.png new file mode 100644 index 00000000000..39cb2a72088 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/476_3.png differ diff --git a/public/images/pokemon/icons/variant/5/498_2.png b/public/images/pokemon/icons/variant/5/498_2.png new file mode 100644 index 00000000000..568e7ff7670 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/498_2.png differ diff --git a/public/images/pokemon/icons/variant/5/498_3.png b/public/images/pokemon/icons/variant/5/498_3.png new file mode 100644 index 00000000000..d592f83c9be Binary files /dev/null and b/public/images/pokemon/icons/variant/5/498_3.png differ diff --git a/public/images/pokemon/icons/variant/5/499_2.png b/public/images/pokemon/icons/variant/5/499_2.png new file mode 100644 index 00000000000..992d5edb00a Binary files /dev/null and b/public/images/pokemon/icons/variant/5/499_2.png differ diff --git a/public/images/pokemon/icons/variant/5/499_3.png b/public/images/pokemon/icons/variant/5/499_3.png new file mode 100644 index 00000000000..151185e4556 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/499_3.png differ diff --git a/public/images/pokemon/icons/variant/5/500_2.png b/public/images/pokemon/icons/variant/5/500_2.png new file mode 100644 index 00000000000..e8b8e88c46e Binary files /dev/null and b/public/images/pokemon/icons/variant/5/500_2.png differ diff --git a/public/images/pokemon/icons/variant/5/500_3.png b/public/images/pokemon/icons/variant/5/500_3.png new file mode 100644 index 00000000000..ad82f3d6ced Binary files /dev/null and b/public/images/pokemon/icons/variant/5/500_3.png differ diff --git a/public/images/pokemon/icons/variant/5/511_2.png b/public/images/pokemon/icons/variant/5/511_2.png new file mode 100644 index 00000000000..eea1484725e Binary files /dev/null and b/public/images/pokemon/icons/variant/5/511_2.png differ diff --git a/public/images/pokemon/icons/variant/5/511_3.png b/public/images/pokemon/icons/variant/5/511_3.png new file mode 100644 index 00000000000..fc434170eb2 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/511_3.png differ diff --git a/public/images/pokemon/icons/variant/5/512_2.png b/public/images/pokemon/icons/variant/5/512_2.png new file mode 100644 index 00000000000..b9e0a45c06c Binary files /dev/null and b/public/images/pokemon/icons/variant/5/512_2.png differ diff --git a/public/images/pokemon/icons/variant/5/512_3.png b/public/images/pokemon/icons/variant/5/512_3.png new file mode 100644 index 00000000000..1a53cc12d26 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/512_3.png differ diff --git a/public/images/pokemon/icons/variant/5/513_2.png b/public/images/pokemon/icons/variant/5/513_2.png new file mode 100644 index 00000000000..305903f3162 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/513_2.png differ diff --git a/public/images/pokemon/icons/variant/5/513_3.png b/public/images/pokemon/icons/variant/5/513_3.png new file mode 100644 index 00000000000..6c4592a0f54 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/513_3.png differ diff --git a/public/images/pokemon/icons/variant/5/514_2.png b/public/images/pokemon/icons/variant/5/514_2.png new file mode 100644 index 00000000000..5e39da4c7f7 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/514_2.png differ diff --git a/public/images/pokemon/icons/variant/5/514_3.png b/public/images/pokemon/icons/variant/5/514_3.png new file mode 100644 index 00000000000..ea6224485ce Binary files /dev/null and b/public/images/pokemon/icons/variant/5/514_3.png differ diff --git a/public/images/pokemon/icons/variant/5/515_2.png b/public/images/pokemon/icons/variant/5/515_2.png new file mode 100644 index 00000000000..3d8af4a569f Binary files /dev/null and b/public/images/pokemon/icons/variant/5/515_2.png differ diff --git a/public/images/pokemon/icons/variant/5/515_3.png b/public/images/pokemon/icons/variant/5/515_3.png new file mode 100644 index 00000000000..bfd1a9e0011 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/515_3.png differ diff --git a/public/images/pokemon/icons/variant/5/516_2.png b/public/images/pokemon/icons/variant/5/516_2.png new file mode 100644 index 00000000000..23257ea2c6f Binary files /dev/null and b/public/images/pokemon/icons/variant/5/516_2.png differ diff --git a/public/images/pokemon/icons/variant/5/516_3.png b/public/images/pokemon/icons/variant/5/516_3.png new file mode 100644 index 00000000000..78cb41df064 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/516_3.png differ diff --git a/public/images/pokemon/icons/variant/5/522_2.png b/public/images/pokemon/icons/variant/5/522_2.png new file mode 100644 index 00000000000..111054ca1ab Binary files /dev/null and b/public/images/pokemon/icons/variant/5/522_2.png differ diff --git a/public/images/pokemon/icons/variant/5/522_3.png b/public/images/pokemon/icons/variant/5/522_3.png new file mode 100644 index 00000000000..03476f89139 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/522_3.png differ diff --git a/public/images/pokemon/icons/variant/5/523_2.png b/public/images/pokemon/icons/variant/5/523_2.png new file mode 100644 index 00000000000..238e8d64594 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/523_2.png differ diff --git a/public/images/pokemon/icons/variant/5/523_3.png b/public/images/pokemon/icons/variant/5/523_3.png new file mode 100644 index 00000000000..e2b12513061 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/523_3.png differ diff --git a/public/images/pokemon/icons/variant/5/535_2.png b/public/images/pokemon/icons/variant/5/535_2.png new file mode 100644 index 00000000000..6f2f8a77136 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/535_2.png differ diff --git a/public/images/pokemon/icons/variant/5/535_3.png b/public/images/pokemon/icons/variant/5/535_3.png new file mode 100644 index 00000000000..b97481faa8f Binary files /dev/null and b/public/images/pokemon/icons/variant/5/535_3.png differ diff --git a/public/images/pokemon/icons/variant/5/536_2.png b/public/images/pokemon/icons/variant/5/536_2.png new file mode 100644 index 00000000000..36a4a17dd2b Binary files /dev/null and b/public/images/pokemon/icons/variant/5/536_2.png differ diff --git a/public/images/pokemon/icons/variant/5/536_3.png b/public/images/pokemon/icons/variant/5/536_3.png new file mode 100644 index 00000000000..282864d38e9 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/536_3.png differ diff --git a/public/images/pokemon/icons/variant/5/537_2.png b/public/images/pokemon/icons/variant/5/537_2.png new file mode 100644 index 00000000000..599752ff7f1 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/537_2.png differ diff --git a/public/images/pokemon/icons/variant/5/537_3.png b/public/images/pokemon/icons/variant/5/537_3.png new file mode 100644 index 00000000000..229dd83c8ce Binary files /dev/null and b/public/images/pokemon/icons/variant/5/537_3.png differ diff --git a/public/images/pokemon/icons/variant/5/554_2.png b/public/images/pokemon/icons/variant/5/554_2.png new file mode 100644 index 00000000000..8f5df20db65 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/554_2.png differ diff --git a/public/images/pokemon/icons/variant/5/554_3.png b/public/images/pokemon/icons/variant/5/554_3.png new file mode 100644 index 00000000000..6827ee2b478 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/554_3.png differ diff --git a/public/images/pokemon/icons/variant/5/555-zen_2.png b/public/images/pokemon/icons/variant/5/555-zen_2.png new file mode 100644 index 00000000000..ae18a833759 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/555-zen_2.png differ diff --git a/public/images/pokemon/icons/variant/5/555-zen_3.png b/public/images/pokemon/icons/variant/5/555-zen_3.png new file mode 100644 index 00000000000..692e39985a6 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/555-zen_3.png differ diff --git a/public/images/pokemon/icons/variant/5/555_2.png b/public/images/pokemon/icons/variant/5/555_2.png new file mode 100644 index 00000000000..f408122171a Binary files /dev/null and b/public/images/pokemon/icons/variant/5/555_2.png differ diff --git a/public/images/pokemon/icons/variant/5/555_3.png b/public/images/pokemon/icons/variant/5/555_3.png new file mode 100644 index 00000000000..2994d3da2cf Binary files /dev/null and b/public/images/pokemon/icons/variant/5/555_3.png differ diff --git a/public/images/pokemon/icons/variant/5/566_2.png b/public/images/pokemon/icons/variant/5/566_2.png new file mode 100644 index 00000000000..927757ac240 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/566_2.png differ diff --git a/public/images/pokemon/icons/variant/5/566_3.png b/public/images/pokemon/icons/variant/5/566_3.png new file mode 100644 index 00000000000..450fd247d8b Binary files /dev/null and b/public/images/pokemon/icons/variant/5/566_3.png differ diff --git a/public/images/pokemon/icons/variant/5/567_2.png b/public/images/pokemon/icons/variant/5/567_2.png new file mode 100644 index 00000000000..1050d13123d Binary files /dev/null and b/public/images/pokemon/icons/variant/5/567_2.png differ diff --git a/public/images/pokemon/icons/variant/5/567_3.png b/public/images/pokemon/icons/variant/5/567_3.png new file mode 100644 index 00000000000..c87f3841410 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/567_3.png differ diff --git a/public/images/pokemon/icons/variant/5/572_2.png b/public/images/pokemon/icons/variant/5/572_2.png index b6230a17cbc..1da1f6b953a 100644 Binary files a/public/images/pokemon/icons/variant/5/572_2.png and b/public/images/pokemon/icons/variant/5/572_2.png differ diff --git a/public/images/pokemon/icons/variant/5/572_3.png b/public/images/pokemon/icons/variant/5/572_3.png index c0848deade2..868b7c38585 100644 Binary files a/public/images/pokemon/icons/variant/5/572_3.png and b/public/images/pokemon/icons/variant/5/572_3.png differ diff --git a/public/images/pokemon/icons/variant/5/573_2.png b/public/images/pokemon/icons/variant/5/573_2.png new file mode 100644 index 00000000000..effd7070f7d Binary files /dev/null and b/public/images/pokemon/icons/variant/5/573_2.png differ diff --git a/public/images/pokemon/icons/variant/5/573_3.png b/public/images/pokemon/icons/variant/5/573_3.png new file mode 100644 index 00000000000..019cf83795d Binary files /dev/null and b/public/images/pokemon/icons/variant/5/573_3.png differ diff --git a/public/images/pokemon/icons/variant/5/626_2.png b/public/images/pokemon/icons/variant/5/626_2.png new file mode 100644 index 00000000000..21930c7606e Binary files /dev/null and b/public/images/pokemon/icons/variant/5/626_2.png differ diff --git a/public/images/pokemon/icons/variant/5/626_3.png b/public/images/pokemon/icons/variant/5/626_3.png new file mode 100644 index 00000000000..2183e1426e8 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/626_3.png differ diff --git a/public/images/pokemon/icons/variant/5/641-incarnate_1.png b/public/images/pokemon/icons/variant/5/641-incarnate_1.png deleted file mode 100644 index ddd0ca15c0c..00000000000 Binary files a/public/images/pokemon/icons/variant/5/641-incarnate_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/5/641-therian_1.png b/public/images/pokemon/icons/variant/5/641-therian_1.png deleted file mode 100644 index 8f6f01fd0d7..00000000000 Binary files a/public/images/pokemon/icons/variant/5/641-therian_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/5/642-incarnate_1.png b/public/images/pokemon/icons/variant/5/642-incarnate_1.png deleted file mode 100644 index 55507be70b9..00000000000 Binary files a/public/images/pokemon/icons/variant/5/642-incarnate_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/5/642-therian_1.png b/public/images/pokemon/icons/variant/5/642-therian_1.png deleted file mode 100644 index bea360abb95..00000000000 Binary files a/public/images/pokemon/icons/variant/5/642-therian_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/5/643_2.png b/public/images/pokemon/icons/variant/5/643_2.png new file mode 100644 index 00000000000..24b7ce28a36 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/643_2.png differ diff --git a/public/images/pokemon/icons/variant/5/643_3.png b/public/images/pokemon/icons/variant/5/643_3.png new file mode 100644 index 00000000000..5c124dbb8f6 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/643_3.png differ diff --git a/public/images/pokemon/icons/variant/5/644_2.png b/public/images/pokemon/icons/variant/5/644_2.png new file mode 100644 index 00000000000..13ba216e9ce Binary files /dev/null and b/public/images/pokemon/icons/variant/5/644_2.png differ diff --git a/public/images/pokemon/icons/variant/5/644_3.png b/public/images/pokemon/icons/variant/5/644_3.png new file mode 100644 index 00000000000..a071965f32d Binary files /dev/null and b/public/images/pokemon/icons/variant/5/644_3.png differ diff --git a/public/images/pokemon/icons/variant/5/645-incarnate_1.png b/public/images/pokemon/icons/variant/5/645-incarnate_1.png deleted file mode 100644 index 416fa9ca1db..00000000000 Binary files a/public/images/pokemon/icons/variant/5/645-incarnate_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/5/645-therian_1.png b/public/images/pokemon/icons/variant/5/645-therian_1.png deleted file mode 100644 index c03d4233e29..00000000000 Binary files a/public/images/pokemon/icons/variant/5/645-therian_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/5/646-black_2.png b/public/images/pokemon/icons/variant/5/646-black_2.png new file mode 100644 index 00000000000..825a8bd36c0 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/646-black_2.png differ diff --git a/public/images/pokemon/icons/variant/5/646-black_3.png b/public/images/pokemon/icons/variant/5/646-black_3.png new file mode 100644 index 00000000000..6e854d9ea41 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/646-black_3.png differ diff --git a/public/images/pokemon/icons/variant/5/646-white_2.png b/public/images/pokemon/icons/variant/5/646-white_2.png new file mode 100644 index 00000000000..e38dc504b21 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/646-white_2.png differ diff --git a/public/images/pokemon/icons/variant/5/646-white_3.png b/public/images/pokemon/icons/variant/5/646-white_3.png new file mode 100644 index 00000000000..12bff95a01d Binary files /dev/null and b/public/images/pokemon/icons/variant/5/646-white_3.png differ diff --git a/public/images/pokemon/icons/variant/5/646_2.png b/public/images/pokemon/icons/variant/5/646_2.png new file mode 100644 index 00000000000..064598bfd26 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/646_2.png differ diff --git a/public/images/pokemon/icons/variant/5/646_3.png b/public/images/pokemon/icons/variant/5/646_3.png new file mode 100644 index 00000000000..e258eb4ce91 Binary files /dev/null and b/public/images/pokemon/icons/variant/5/646_3.png differ diff --git a/public/images/pokemon/icons/variant/6/692_2.png b/public/images/pokemon/icons/variant/6/692_2.png new file mode 100644 index 00000000000..fa6cacc70dd Binary files /dev/null and b/public/images/pokemon/icons/variant/6/692_2.png differ diff --git a/public/images/pokemon/icons/variant/6/692_3.png b/public/images/pokemon/icons/variant/6/692_3.png new file mode 100644 index 00000000000..47d0661babe Binary files /dev/null and b/public/images/pokemon/icons/variant/6/692_3.png differ diff --git a/public/images/pokemon/icons/variant/6/693_2.png b/public/images/pokemon/icons/variant/6/693_2.png new file mode 100644 index 00000000000..9d8ea4f56cd Binary files /dev/null and b/public/images/pokemon/icons/variant/6/693_2.png differ diff --git a/public/images/pokemon/icons/variant/6/693_3.png b/public/images/pokemon/icons/variant/6/693_3.png new file mode 100644 index 00000000000..6f0169bb057 Binary files /dev/null and b/public/images/pokemon/icons/variant/6/693_3.png differ diff --git a/public/images/pokemon/icons/variant/7/2037_2.png b/public/images/pokemon/icons/variant/7/2037_2.png new file mode 100644 index 00000000000..528793de5c5 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2037_2.png differ diff --git a/public/images/pokemon/icons/variant/7/2037_3.png b/public/images/pokemon/icons/variant/7/2037_3.png new file mode 100644 index 00000000000..d79fd1c2369 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2037_3.png differ diff --git a/public/images/pokemon/icons/variant/7/2038_2.png b/public/images/pokemon/icons/variant/7/2038_2.png new file mode 100644 index 00000000000..d8295be1baf Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2038_2.png differ diff --git a/public/images/pokemon/icons/variant/7/2038_3.png b/public/images/pokemon/icons/variant/7/2038_3.png new file mode 100644 index 00000000000..645c783b43f Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2038_3.png differ diff --git a/public/images/pokemon/icons/variant/7/746-school_1.png b/public/images/pokemon/icons/variant/7/746-school_1.png new file mode 100644 index 00000000000..a7a2854bea0 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/746-school_1.png differ diff --git a/public/images/pokemon/icons/variant/7/746-school_2.png b/public/images/pokemon/icons/variant/7/746-school_2.png new file mode 100644 index 00000000000..94d16db5c42 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/746-school_2.png differ diff --git a/public/images/pokemon/icons/variant/7/746_1.png b/public/images/pokemon/icons/variant/7/746_1.png new file mode 100644 index 00000000000..d4897e0acf3 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/746_1.png differ diff --git a/public/images/pokemon/icons/variant/7/746_2.png b/public/images/pokemon/icons/variant/7/746_2.png new file mode 100644 index 00000000000..8746a45310d Binary files /dev/null and b/public/images/pokemon/icons/variant/7/746_2.png differ diff --git a/public/images/pokemon/icons/variant/7/780_2.png b/public/images/pokemon/icons/variant/7/780_2.png new file mode 100644 index 00000000000..fe40d474146 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/780_2.png differ diff --git a/public/images/pokemon/icons/variant/7/780_3.png b/public/images/pokemon/icons/variant/7/780_3.png new file mode 100644 index 00000000000..6d98c750e8e Binary files /dev/null and b/public/images/pokemon/icons/variant/7/780_3.png differ diff --git a/public/images/pokemon/icons/variant/7/782_2.png b/public/images/pokemon/icons/variant/7/782_2.png new file mode 100644 index 00000000000..c036fa45017 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/782_2.png differ diff --git a/public/images/pokemon/icons/variant/7/782_3.png b/public/images/pokemon/icons/variant/7/782_3.png new file mode 100644 index 00000000000..bc1e939e14d Binary files /dev/null and b/public/images/pokemon/icons/variant/7/782_3.png differ diff --git a/public/images/pokemon/icons/variant/7/783_2.png b/public/images/pokemon/icons/variant/7/783_2.png new file mode 100644 index 00000000000..1e686e95017 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/783_2.png differ diff --git a/public/images/pokemon/icons/variant/7/783_3.png b/public/images/pokemon/icons/variant/7/783_3.png new file mode 100644 index 00000000000..6b61fea7298 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/783_3.png differ diff --git a/public/images/pokemon/icons/variant/7/784_2.png b/public/images/pokemon/icons/variant/7/784_2.png new file mode 100644 index 00000000000..5f921735839 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/784_2.png differ diff --git a/public/images/pokemon/icons/variant/7/784_3.png b/public/images/pokemon/icons/variant/7/784_3.png new file mode 100644 index 00000000000..077a6253a19 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/784_3.png differ diff --git a/public/images/pokemon/icons/variant/8/871_1.png b/public/images/pokemon/icons/variant/8/871_1.png new file mode 100644 index 00000000000..ff77c60cea2 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/871_1.png differ diff --git a/public/images/pokemon/icons/variant/8/871_2.png b/public/images/pokemon/icons/variant/8/871_2.png new file mode 100644 index 00000000000..bfefb010219 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/871_2.png differ diff --git a/public/images/pokemon/shiny/782.json b/public/images/pokemon/shiny/782.json index 0147fd611c2..8b4336549f1 100644 --- a/public/images/pokemon/shiny/782.json +++ b/public/images/pokemon/shiny/782.json @@ -1,41 +1,1010 @@ -{ - "textures": [ - { - "image": "782.png", - "format": "RGBA8888", - "size": { - "w": 50, - "h": 50 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 46, - "h": 50 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - }, - "frame": { - "x": 0, - "y": 0, - "w": 46, - "h": 50 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:a551362c468e8c1d1846087d45955da3:43093a2fa7dce85b50a7790b1ef2c6b0:d07862436676aa228a148ee1f1d82a8f$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0002.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0003.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0004.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0005.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0006.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0007.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0008.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0009.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0010.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0011.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0012.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0013.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0014.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0015.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0016.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0017.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0018.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0019.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0020.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0021.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0022.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0023.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0024.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0025.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0026.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0027.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0028.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0029.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0030.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0031.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0032.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0033.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0034.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0035.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0036.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0037.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0038.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0039.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0040.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0041.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0042.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0043.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0044.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0045.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0046.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0047.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0048.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0049.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0050.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0051.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0052.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0053.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0054.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0055.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0056.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0057.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0058.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0059.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0060.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0061.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0062.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0063.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0064.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0065.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0066.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0067.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0068.png", + "frame": { "x": 94, "y": 105, "w": 45, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 45, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0069.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0070.png", + "frame": { "x": 47, "y": 155, "w": 46, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 46, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0071.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0072.png", + "frame": { "x": 140, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0073.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0074.png", + "frame": { "x": 93, "y": 156, "w": 47, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 26, "y": 27, "w": 47, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0075.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0076.png", + "frame": { "x": 186, "y": 156, "w": 46, "h": 47 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 27, "w": 46, "h": 47 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0077.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0078.png", + "frame": { "x": 1, "y": 105, "w": 47, "h": 49 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 27, "y": 25, "w": 47, "h": 49 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0079.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0080.png", + "frame": { "x": 1, "y": 154, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0081.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0082.png", + "frame": { "x": 48, "y": 105, "w": 46, "h": 50 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 24, "w": 46, "h": 50 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0083.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0084.png", + "frame": { "x": 189, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0086.png", + "frame": { "x": 48, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0087.png", + "frame": { "x": 185, "y": 104, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0088.png", + "frame": { "x": 185, "y": 104, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0089.png", + "frame": { "x": 142, "y": 52, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0090.png", + "frame": { "x": 188, "y": 52, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0091.png", + "frame": { "x": 1, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0092.png", + "frame": { "x": 47, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0093.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0094.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0095.png", + "frame": { "x": 185, "y": 104, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0096.png", + "frame": { "x": 185, "y": 104, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0097.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0098.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0099.png", + "frame": { "x": 47, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0100.png", + "frame": { "x": 47, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0101.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0102.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0103.png", + "frame": { "x": 95, "y": 1, "w": 47, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 47, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0104.png", + "frame": { "x": 185, "y": 104, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0105.png", + "frame": { "x": 185, "y": 104, "w": 45, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 45, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0106.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0107.png", + "frame": { "x": 93, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0108.png", + "frame": { "x": 1, "y": 53, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0109.png", + "frame": { "x": 139, "y": 104, "w": 46, "h": 52 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 22, "w": 46, "h": 52 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0110.png", + "frame": { "x": 189, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + }, + { + "filename": "0111.png", + "frame": { "x": 142, "y": 1, "w": 47, "h": 51 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 28, "y": 23, "w": 47, "h": 51 }, + "sourceSize": { "w": 96, "h": 96 }, + "duration": 50 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "782.png", + "format": "I8", + "size": { "w": 237, "h": 205 }, + "scale": "1" + } } diff --git a/public/images/pokemon/shiny/782.png b/public/images/pokemon/shiny/782.png index 79ce0d6289a..be4689a7cc5 100644 Binary files a/public/images/pokemon/shiny/782.png and b/public/images/pokemon/shiny/782.png differ diff --git a/public/images/pokemon/shiny/783.json b/public/images/pokemon/shiny/783.json index cba4888951b..0d3815a6ecf 100644 --- a/public/images/pokemon/shiny/783.json +++ b/public/images/pokemon/shiny/783.json @@ -1,41 +1,965 @@ -{ - "textures": [ - { - "image": "783.png", - "format": "RGBA8888", - "size": { - "w": 69, - "h": 69 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 61, - "h": 69 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 61, - "h": 69 - }, - "frame": { - "x": 0, - "y": 0, - "w": 61, - "h": 69 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:46608dec6728e687aeafbeda288354f0:c18ca883404bc368fe53932c65d95dd1:aab166e28c744865a0296041224dd01b$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 64, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 326, "y": 142, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 1, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 412, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 276, "y": 68, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 340, "y": 72, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 476, "y": 137, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 403, "y": 141, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 308, "y": 211, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 299, "y": 280, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 471, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 415, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 228, "y": 413, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 1, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 358, "y": 347, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 508, "y": 275, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 64, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 326, "y": 142, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 1, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 412, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 276, "y": 68, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 340, "y": 72, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 476, "y": 137, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 403, "y": 141, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 308, "y": 211, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 299, "y": 280, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 471, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 415, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 228, "y": 413, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 1, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 358, "y": 347, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 508, "y": 275, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 64, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 326, "y": 142, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 1, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 412, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 276, "y": 68, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 340, "y": 72, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 476, "y": 137, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 403, "y": 141, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 308, "y": 211, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 299, "y": 280, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 471, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 415, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 228, "y": 413, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 1, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 358, "y": 347, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 508, "y": 275, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 64, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 326, "y": 142, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 1, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 412, "y": 71, "w": 64, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 64, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 276, "y": 68, "w": 64, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 0, "w": 64, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 340, "y": 72, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 476, "y": 137, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 403, "y": 141, "w": 62, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 2, "w": 62, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 308, "y": 211, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 299, "y": 280, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 471, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 415, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 228, "y": 413, "w": 56, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 5, "w": 56, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 1, "y": 412, "w": 56, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 4, "w": 56, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 358, "y": 347, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 4, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 508, "y": 275, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 247, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 448, "y": 275, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 368, "y": 279, "w": 59, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 59, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 173, "y": 346, "w": 57, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 57, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 239, "y": 277, "w": 60, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 60, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 1, "y": 209, "w": 63, "h": 66 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 63, "h": 66 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 478, "y": 1, "w": 68, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 68, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 276, "y": 1, "w": 70, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 70, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 70, "y": 1, "w": 71, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 71, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 208, "y": 1, "w": 68, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 68, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 208, "y": 70, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 64, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 65, "y": 138, "w": 63, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 1, "w": 63, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 412, "y": 1, "w": 66, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 66, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 1, "y": 1, "w": 69, "h": 70 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 1, "w": 69, "h": 70 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 141, "y": 1, "w": 67, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 0, "w": 67, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 346, "y": 1, "w": 66, "h": 71 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 0, "w": 66, "h": 71 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 239, "y": 344, "w": 57, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 57, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 57, "y": 414, "w": 54, "h": 67 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 54, "h": 67 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 173, "y": 413, "w": 55, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 3, "w": 55, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 296, "y": 348, "w": 55, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 55, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 59, "y": 345, "w": 57, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 57, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 64, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 263, "y": 139, "w": 63, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 63, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 70, "y": 69, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0090.png", + "frame": { "x": 121, "y": 277, "w": 59, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 59, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0091.png", + "frame": { "x": 186, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0092.png", + "frame": { "x": 200, "y": 139, "w": 63, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 63, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0093.png", + "frame": { "x": 478, "y": 68, "w": 65, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 65, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0094.png", + "frame": { "x": 427, "y": 343, "w": 58, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 58, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0095.png", + "frame": { "x": 125, "y": 208, "w": 61, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 2, "w": 61, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0096.png", + "frame": { "x": 128, "y": 140, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 63, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0097.png", + "frame": { "x": 135, "y": 72, "w": 65, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 65, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0098.png", + "frame": { "x": 1, "y": 344, "w": 58, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 58, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0099.png", + "frame": { "x": 61, "y": 277, "w": 60, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 3, "w": 60, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0100.png", + "frame": { "x": 465, "y": 207, "w": 62, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 62, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0101.png", + "frame": { "x": 1, "y": 141, "w": 63, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 63, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0102.png", + "frame": { "x": 116, "y": 346, "w": 57, "h": 68 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 3, "w": 57, "h": 68 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0103.png", + "frame": { "x": 485, "y": 343, "w": 58, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 58, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0104.png", + "frame": { "x": 180, "y": 277, "w": 59, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 59, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0105.png", + "frame": { "x": 1, "y": 275, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + }, + { + "filename": "0106.png", + "frame": { "x": 388, "y": 210, "w": 60, "h": 69 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 2, "w": 60, "h": 69 }, + "sourceSize": { "w": 76, "h": 71 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "783.png", + "format": "I8", + "size": { "w": 569, "h": 482 }, + "scale": "1" + } } diff --git a/public/images/pokemon/shiny/783.png b/public/images/pokemon/shiny/783.png index 6d49131f69d..b14d064e998 100644 Binary files a/public/images/pokemon/shiny/783.png and b/public/images/pokemon/shiny/783.png differ diff --git a/public/images/pokemon/shiny/784.json b/public/images/pokemon/shiny/784.json index fdf96d2b111..b69481e9732 100644 --- a/public/images/pokemon/shiny/784.json +++ b/public/images/pokemon/shiny/784.json @@ -1,41 +1,812 @@ -{ - "textures": [ - { - "image": "784.png", - "format": "RGBA8888", - "size": { - "w": 81, - "h": 81 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 79, - "h": 81 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 79, - "h": 81 - }, - "frame": { - "x": 0, - "y": 0, - "w": 79, - "h": 81 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:6096bcc779e33e1df807da48a8d58c7f:483f9130a6e530e32c532c6bacf9c317:c2f7ca3ab1075b8c824730653d891244$" - } +{ "frames": [ + { + "filename": "0001.png", + "frame": { "x": 254, "y": 238, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0002.png", + "frame": { "x": 373, "y": 162, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0003.png", + "frame": { "x": 285, "y": 157, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0004.png", + "frame": { "x": 104, "y": 78, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0005.png", + "frame": { "x": 414, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0006.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0007.png", + "frame": { "x": 104, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0008.png", + "frame": { "x": 208, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0009.png", + "frame": { "x": 310, "y": 77, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0010.png", + "frame": { "x": 406, "y": 80, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0011.png", + "frame": { "x": 495, "y": 161, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0012.png", + "frame": { "x": 649, "y": 324, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0013.png", + "frame": { "x": 155, "y": 327, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0014.png", + "frame": { "x": 394, "y": 325, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0015.png", + "frame": { "x": 571, "y": 324, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0016.png", + "frame": { "x": 161, "y": 246, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0017.png", + "frame": { "x": 254, "y": 238, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0018.png", + "frame": { "x": 373, "y": 162, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0019.png", + "frame": { "x": 285, "y": 157, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0020.png", + "frame": { "x": 104, "y": 78, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0021.png", + "frame": { "x": 414, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0022.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0023.png", + "frame": { "x": 104, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0024.png", + "frame": { "x": 208, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0025.png", + "frame": { "x": 310, "y": 77, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0026.png", + "frame": { "x": 406, "y": 80, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0027.png", + "frame": { "x": 495, "y": 161, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0028.png", + "frame": { "x": 649, "y": 324, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0029.png", + "frame": { "x": 155, "y": 327, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0030.png", + "frame": { "x": 394, "y": 325, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0031.png", + "frame": { "x": 571, "y": 324, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0032.png", + "frame": { "x": 161, "y": 246, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0033.png", + "frame": { "x": 254, "y": 238, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0034.png", + "frame": { "x": 373, "y": 162, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0035.png", + "frame": { "x": 285, "y": 157, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0036.png", + "frame": { "x": 104, "y": 78, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0037.png", + "frame": { "x": 414, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0038.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0039.png", + "frame": { "x": 104, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0040.png", + "frame": { "x": 208, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0041.png", + "frame": { "x": 310, "y": 77, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0042.png", + "frame": { "x": 406, "y": 80, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0043.png", + "frame": { "x": 495, "y": 161, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0044.png", + "frame": { "x": 649, "y": 324, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0045.png", + "frame": { "x": 155, "y": 327, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0046.png", + "frame": { "x": 394, "y": 325, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0047.png", + "frame": { "x": 571, "y": 324, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0048.png", + "frame": { "x": 161, "y": 246, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0049.png", + "frame": { "x": 254, "y": 238, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0050.png", + "frame": { "x": 373, "y": 162, "w": 84, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 4, "w": 84, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0051.png", + "frame": { "x": 285, "y": 157, "w": 88, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 4, "w": 88, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0052.png", + "frame": { "x": 104, "y": 78, "w": 94, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 5, "w": 94, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0053.png", + "frame": { "x": 414, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0054.png", + "frame": { "x": 1, "y": 1, "w": 103, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 7, "w": 103, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0055.png", + "frame": { "x": 104, "y": 1, "w": 104, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 8, "w": 104, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0056.png", + "frame": { "x": 208, "y": 1, "w": 102, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 7, "w": 102, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0057.png", + "frame": { "x": 310, "y": 77, "w": 96, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 5, "w": 96, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0058.png", + "frame": { "x": 406, "y": 80, "w": 89, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 2, "y": 3, "w": 89, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0059.png", + "frame": { "x": 495, "y": 161, "w": 82, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 82, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0060.png", + "frame": { "x": 649, "y": 324, "w": 77, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 77, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0061.png", + "frame": { "x": 155, "y": 327, "w": 76, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 6, "w": 76, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0062.png", + "frame": { "x": 394, "y": 325, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 5, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0063.png", + "frame": { "x": 571, "y": 324, "w": 78, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 78, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0064.png", + "frame": { "x": 161, "y": 246, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0065.png", + "frame": { "x": 81, "y": 240, "w": 80, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 80, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0066.png", + "frame": { "x": 577, "y": 162, "w": 83, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 83, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0067.png", + "frame": { "x": 1, "y": 158, "w": 89, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 5, "w": 89, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0068.png", + "frame": { "x": 1, "y": 79, "w": 95, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 6, "w": 95, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0069.png", + "frame": { "x": 612, "y": 1, "w": 100, "h": 78 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 7, "w": 100, "h": 78 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0070.png", + "frame": { "x": 310, "y": 1, "w": 104, "h": 76 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 4, "y": 9, "w": 104, "h": 76 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0071.png", + "frame": { "x": 513, "y": 1, "w": 99, "h": 79 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 6, "w": 99, "h": 79 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0072.png", + "frame": { "x": 495, "y": 80, "w": 90, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 14, "y": 4, "w": 90, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0073.png", + "frame": { "x": 612, "y": 79, "w": 88, "h": 83 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 2, "w": 88, "h": 83 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0074.png", + "frame": { "x": 198, "y": 79, "w": 87, "h": 85 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 0, "w": 87, "h": 85 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0075.png", + "frame": { "x": 90, "y": 158, "w": 84, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 8, "y": 3, "w": 84, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0076.png", + "frame": { "x": 471, "y": 325, "w": 76, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 5, "w": 76, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0077.png", + "frame": { "x": 77, "y": 403, "w": 75, "h": 74 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 14, "w": 75, "h": 74 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0078.png", + "frame": { "x": 231, "y": 400, "w": 75, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 7, "w": 75, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0079.png", + "frame": { "x": 1, "y": 402, "w": 76, "h": 77 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 9, "w": 76, "h": 77 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0080.png", + "frame": { "x": 317, "y": 325, "w": 77, "h": 80 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 6, "w": 77, "h": 80 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0081.png", + "frame": { "x": 239, "y": 319, "w": 78, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 5, "w": 78, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0082.png", + "frame": { "x": 174, "y": 164, "w": 80, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 5, "y": 4, "w": 80, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0083.png", + "frame": { "x": 1, "y": 238, "w": 80, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 6, "y": 3, "w": 80, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0084.png", + "frame": { "x": 334, "y": 243, "w": 79, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 7, "y": 3, "w": 79, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0085.png", + "frame": { "x": 1, "y": 320, "w": 77, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 9, "y": 3, "w": 77, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0086.png", + "frame": { "x": 78, "y": 321, "w": 77, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 3, "w": 77, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0087.png", + "frame": { "x": 413, "y": 243, "w": 79, "h": 82 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 3, "w": 79, "h": 82 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0088.png", + "frame": { "x": 577, "y": 243, "w": 79, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 10, "y": 4, "w": 79, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + }, + { + "filename": "0089.png", + "frame": { "x": 492, "y": 244, "w": 79, "h": 81 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 4, "w": 79, "h": 81 }, + "sourceSize": { "w": 108, "h": 88 }, + "duration": 100 + } + ], + "meta": { + "app": "https://www.aseprite.org/", + "version": "1.3.13-x64", + "image": "784.png", + "format": "I8", + "size": { "w": 727, "h": 481 }, + "scale": "1" + } } diff --git a/public/images/pokemon/shiny/784.png b/public/images/pokemon/shiny/784.png index 57cf7a67747..f9f5813e1c2 100644 Binary files a/public/images/pokemon/shiny/784.png and b/public/images/pokemon/shiny/784.png differ diff --git a/public/images/pokemon/variant/1011.json b/public/images/pokemon/variant/1011.json new file mode 100644 index 00000000000..cbb4be4e207 --- /dev/null +++ b/public/images/pokemon/variant/1011.json @@ -0,0 +1,36 @@ +{ + "1": { + "fd9477": "63b9b9", + "e64d3c": "397880", + "a28339": "5a4385", + "477d45": "67698b", + "b09579": "8ea1b4", + "f5e279": "f0d3f9", + "253922": "232b3a", + "345539": "313d4b", + "d1b147": "c998e2", + "9c1e2a": "272a52", + "7eb36a": "9aa0b3", + "9fc164": "9aa0b3", + "8e9960": "67698b", + "c73030": "2b526f", + "61071f": "190e2e" + }, + "2": { + "fd9477": "f3efde", + "e64d3c": "eee0bc", + "a28339": "2e2246", + "477d45": "903c4e", + "b09579": "b49c98", + "f5e279": "589df3", + "253922": "2e0920", + "345539": "4f162a", + "d1b147": "354dbf", + "9c1e2a": "9c564c", + "7eb36a": "e28c95", + "9fc164": "e28c95", + "8e9960": "b0526f", + "c73030": "d1a87e", + "61071f": "571818" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/1019.json b/public/images/pokemon/variant/1019.json new file mode 100644 index 00000000000..2d5a5f699c6 --- /dev/null +++ b/public/images/pokemon/variant/1019.json @@ -0,0 +1,46 @@ +{ + "1": { + "9c0808": "70a2c5", + "b91d1d": "abd7e2", + "746739": "69348b", + "6ba835": "7a7c9e", + "9ce05f": "9aa0b3", + "d43e2d": "4e969e", + "841111": "302752", + "b11717": "663267", + "680606": "065e68", + "ff7a59": "69c5c5", + "c59588": "9c2e72", + "2d6127": "7f58af", + "b72629": "2b526f", + "b59a7d": "a3b9d0", + "82664a": "48476c", + "ffce5e": "d69ae8", + "3e662b": "313846", + "dcbfab": "c55885", + "e9cfb3": "dcebf9", + "3c9b3e": "e8edff" + }, + "2": { + "9c0808": "bfb5ab", + "b91d1d": "dcd9d1", + "746739": "312374", + "6ba835": "a8546e", + "9ce05f": "e28c95", + "d43e2d": "eedfb8", + "841111": "4b211b", + "b11717": "63473b", + "680606": "68403b", + "ff7a59": "f3efde", + "c59588": "402622", + "2d6127": "2e2b8b", + "b72629": "bf9870", + "b59a7d": "cbb4af", + "82664a": "613838", + "ffce5e": "688ce8", + "3e662b": "341c1c", + "dcbfab": "5d4c45", + "e9cfb3": "e2dcd6", + "3c9b3e": "5e75e2" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/143-gigantamax.json b/public/images/pokemon/variant/143-gigantamax.json new file mode 100644 index 00000000000..c6e5312d330 --- /dev/null +++ b/public/images/pokemon/variant/143-gigantamax.json @@ -0,0 +1,50 @@ +{ + "1": { + "101010": "101010", + "5f3c18": "544a41", + "5e3e1d": "351b52", + "31573f": "7b59ba", + "54792b": "c06386", + "103941": "701a55", + "315a7b": "943469", + "bd3740": "c94489", + "a3704e": "522663", + "a47352": "6b6357", + "ad7f5f": "b56564", + "de5656": "d65a8a", + "069f5f": "b083de", + "89b432": "f1a1b2", + "bbe35b": "f1a1b2", + "98a0a0": "98a0a0", + "a0a0a0": "a0a0a0", + "fc8b9f": "ed7794", + "e6c5ac": "cf8880", + "f6e6bd": "f0beb1", + "c9c9c9": "c9c9c9", + "f4f4f4": "f4f4f4" + }, + "2": { + "101010": "101010", + "5f3c18": "ba6632", + "5e3e1d": "c2986e", + "31573f": "4b4c52", + "54792b": "208073", + "103941": "93b5c2", + "315a7b": "b6d6d9", + "bd3740": "9e4619", + "a3704e": "e6cda1", + "a47352": "cf9d48", + "ad7f5f": "284878", + "de5656": "bd742b", + "069f5f": "7c7c82", + "89b432": "37ad82", + "bbe35b": "79e0a2", + "98a0a0": "53738a", + "a0a0a0": "abd1cc", + "fc8b9f": "d9a443", + "e6c5ac": "27538a", + "f6e6bd": "36719c", + "c9c9c9": "b4d3d9", + "f4f4f4": "f4f4f4" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/143.json b/public/images/pokemon/variant/143.json new file mode 100644 index 00000000000..b4e32403fc6 --- /dev/null +++ b/public/images/pokemon/variant/143.json @@ -0,0 +1,38 @@ +{ + "1": { + "000000": "101010", + "634221": "351b52", + "103a42": "701a55", + "3a3d47": "41201e", + "3d3d47": "756363", + "315a7b": "943469", + "8a6455": "91504e", + "a67351": "522663", + "a57352": "9e5755", + "528cad": "ad4b70", + "73a5bd": "cc6c84", + "e6c5ad": "cf8880", + "f7d6bd": "e09f96", + "f7e6bd": "f0beb1", + "cecece": "cbc4c4", + "ffffff": "ffffff" + }, + "2": { + "000000": "101010", + "634221": "c2986e", + "103a42": "85adbc", + "3a3d47": "131d39", + "3d3d47": "2b2b32", + "315a7b": "a3cacd", + "8a6455": "192b59", + "a67351": "e6cda1", + "a57352": "1b2e61", + "528cad": "cbe4e2", + "73a5bd": "edf5f4", + "e6c5ad": "284878", + "f7d6bd": "38638f", + "f7e6bd": "457ca8", + "cecece": "bfc7cb", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/187.json b/public/images/pokemon/variant/187.json new file mode 100644 index 00000000000..7e0d1dca511 --- /dev/null +++ b/public/images/pokemon/variant/187.json @@ -0,0 +1,28 @@ +{ + "1": { + "101010": "101010", + "425a10": "934200", + "52843a": "c27600", + "63bd5a": "efac00", + "8c083a": "012a3e", + "9cde5a": "ffdc46", + "b56373": "003e53", + "ff7b94": "006d7f", + "f79cb5": "00a59b", + "ffc500": "e3396c", + "ffff00": "ffa8b6" + }, + "2": { + "101010": "101010", + "425a10": "5f0052", + "52843a": "960070", + "63bd5a": "960070", + "8c083a": "802600", + "9cde5a": "e01c75", + "b56373": "d8591c", + "ff7b94": "fa9600", + "f79cb5": "ffc93b", + "ffc500": "5ec0ec", + "ffff00": "94ecf9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/188.json b/public/images/pokemon/variant/188.json new file mode 100644 index 00000000000..03edfeb51ff --- /dev/null +++ b/public/images/pokemon/variant/188.json @@ -0,0 +1,30 @@ +{ + "1": { + "000000": "101010", + "196b00": "c66b31", + "42b521": "e99f23", + "63d631": "ffd953", + "8c5200": "004269", + "8cf74a": "fef579", + "b5d6de": "fa9600", + "f7a519": "005883", + "ff6300": "420c78", + "ffd600": "046c90", + "ffef00": "007b9a", + "ffffff": "ffc93b" + }, + "2": { + "000000": "101010", + "196b00": "2659ad", + "42b521": "5293d5", + "63d631": "79d5fa", + "8c5200": "5f0052", + "8cf74a": "a6eafa", + "b5d6de": "fa9600", + "f7a519": "960070", + "ff6300": "86005c", + "ffd600": "ba0071", + "ffef00": "e01c75", + "ffffff": "ffc93b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/189.json b/public/images/pokemon/variant/189.json new file mode 100644 index 00000000000..7166d9ac513 --- /dev/null +++ b/public/images/pokemon/variant/189.json @@ -0,0 +1,38 @@ +{ + "1": { + "101010": "101010", + "194a73": "b64d21", + "c53142": "405b8f", + "ef4252": "6781a4", + "29844a": "83839f", + "b58c31": "071a3c", + "d6bd5a": "282773", + "84ce7b": "c1bdd1", + "3a73c5": "e19903", + "ded67b": "ded67b", + "efe69c": "104f80", + "8cb5ff": "f9f870", + "ffffde": "2faac4", + "ffffee": "ffffee", + "fff7b5": "1379a0", + "739cff": "fcd936" + }, + "2": { + "101010": "101010", + "194a73": "680054", + "c53142": "3887d2", + "ef4252": "58c1ea", + "29844a": "3887d3", + "b58c31": "da5014", + "d6bd5a": "f06f22", + "84ce7b": "58c1eb", + "3a73c5": "980062", + "ded67b": "ded67b", + "efe69c": "ffa747", + "8cb5ff": "e4486a", + "ffffde": "f9f29b", + "ffffee": "ffffee", + "fff7b5": "ffd45a", + "739cff": "d20d6a" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/2037.json b/public/images/pokemon/variant/2037.json new file mode 100644 index 00000000000..2c190d5d36a --- /dev/null +++ b/public/images/pokemon/variant/2037.json @@ -0,0 +1,26 @@ +{ + "1": { + "151515": "101010", + "2d57bb": "235dc4", + "558b9f": "9f435d", + "648082": "6e67b0", + "6cb1db": "3daae0", + "97bdd2": "ffa8b8", + "c1d1d2": "b3b8ea", + "d9e9f4": "ffd3e1", + "fdfdfd": "d7d9f9", + "ffffff": "ffffff" + }, + "2": { + "151515": "101010", + "2d57bb": "6e1179", + "558b9f": "90215e", + "648082": "bf4747", + "6cb1db": "8832a0", + "97bdd2": "da4e75", + "c1d1d2": "ffc07b", + "d9e9f4": "ff8489", + "fdfdfd": "ffe6a0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/2038.json b/public/images/pokemon/variant/2038.json new file mode 100644 index 00000000000..845c45f7887 --- /dev/null +++ b/public/images/pokemon/variant/2038.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4d5c78": "394880", + "516077": "9f435d", + "007ab5": "2380c4", + "38858d": "e35ea2", + "7a8a9c": "6172ab", + "66b3d7": "3dbfe0", + "86a8c0": "e27495", + "81c2c5": "ff89c0", + "bdcbd7": "a7ade7", + "a1e1de": "ffb6e5", + "b0d3ea": "ffa8b8", + "eafefe": "ffd3e1", + "fdfdfd": "bec6ef", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "4d5c78": "73174a", + "516077": "bb3c3c", + "007ab5": "882493", + "38858d": "572746", + "7a8a9c": "90215e", + "66b3d7": "a044ab", + "86a8c0": "ff824c", + "81c2c5": "75355e", + "bdcbd7": "da426d", + "a1e1de": "93547c", + "b0d3ea": "ffbf6b", + "eafefe": "ffe28c", + "fdfdfd": "ff6f86", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/204.json b/public/images/pokemon/variant/204.json new file mode 100644 index 00000000000..19494090ac5 --- /dev/null +++ b/public/images/pokemon/variant/204.json @@ -0,0 +1,20 @@ +{ + "1": { + "84d6d6": "c1cd7d", + "b5eff7": "e3e796", + "3a73a5": "74a057", + "942900": "cc5c1c", + "294a7b": "4b7641", + "52adb5": "a4b76b", + "ff4a3a": "f68b31" + }, + "2": { + "84d6d6": "eda6ae", + "b5eff7": "f7dcd7", + "3a73a5": "b43469", + "942900": "1eaaaa", + "294a7b": "700a4b", + "52adb5": "d46b84", + "ff4a3a": "36cfbb" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/205.json b/public/images/pokemon/variant/205.json new file mode 100644 index 00000000000..06e56b61f61 --- /dev/null +++ b/public/images/pokemon/variant/205.json @@ -0,0 +1,26 @@ +{ + "1": { + "847b9c": "103b2c", + "f7deef": "5b965b", + "e6cef7": "3e7745", + "6b6b6b": "53af4a", + "ff9c9c": "ffb356", + "ffffff": "91c25e", + "841031": "af3b11", + "f76373": "f68b31", + "bd2942": "d8681e", + "524263": "04211a", + "c5a5de": "205639" + }, + "2": { + "847b9c": "962a41", + "f7deef": "f7e2d7", + "e6cef7": "e9b1a0", + "ff9c9c": "b0f5ee", + "841031": "0e2667", + "f76373": "6bbfd2", + "bd2942": "2c6094", + "524263": "691338", + "c5a5de": "c86554" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/207.json b/public/images/pokemon/variant/207.json index 63e1098713a..7d1ff05493d 100644 --- a/public/images/pokemon/variant/207.json +++ b/public/images/pokemon/variant/207.json @@ -1,32 +1,26 @@ { "1": { - "63314a": "7f4812", - "e6a5ce": "f8dd84", - "101010": "101010", - "ad6394": "b67322", "de84b5": "daa93f", - "4a5a73": "4a5a73", - "ffffff": "ffffff", - "adbdc5": "adbdc5", - "bd6b5a": "49a3d2", + "e6a5ce": "f8dd84", + "63314a": "275487", "4a73bd": "3b426f", - "ffa584": "68caed", "294a7b": "1f2142", - "6b9cef": "596596" + "ad6394": "b67322", + "612f48": "7f4812", + "6b9cef": "596596", + "ffa584": "68caed", + "bd6b5a": "49a3d2" }, "2": { - "63314a": "5f1723", - "e6a5ce": "ef6b58", - "101010": "101010", - "ad6394": "97343c", "de84b5": "c04144", - "4a5a73": "4a5a73", - "ffffff": "ffffff", - "adbdc5": "adbdc5", - "bd6b5a": "c86539", + "e6a5ce": "ef6b58", + "63314a": "752d17", "4a73bd": "42bca0", - "ffa584": "f0a452", "294a7b": "33817e", - "6b9cef": "81e4b3" + "ad6394": "97343c", + "612f48": "5f1723", + "6b9cef": "81e4b3", + "ffa584": "f0a452", + "bd6b5a": "c86539" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/299.json b/public/images/pokemon/variant/299.json new file mode 100644 index 00000000000..3b2cd15e3cd --- /dev/null +++ b/public/images/pokemon/variant/299.json @@ -0,0 +1,28 @@ +{ + "1": { + "000000": "101010", + "5a1921": "1f3a30", + "31314a": "6b2710", + "9c314a": "30594a", + "de5252": "487c60", + "ff6b7b": "5a9170", + "42529c": "a14020", + "637bbd": "c66831", + "ff9494": "7fbc7a", + "8ca5e6": "db8644", + "adbdf7": "e09a65" + }, + "2": { + "000000": "101010", + "5a1921": "28163a", + "31314a": "38619e", + "9c314a": "452b5e", + "de5252": "584282", + "ff6b7b": "675398", + "42529c": "68a2cd", + "637bbd": "99e4ee", + "ff9494": "7282c4", + "8ca5e6": "dcfff8", + "adbdf7": "f3fff6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/313.json b/public/images/pokemon/variant/313.json new file mode 100644 index 00000000000..574574061ce --- /dev/null +++ b/public/images/pokemon/variant/313.json @@ -0,0 +1,36 @@ +{ + "1": { + "4a526b": "9a4013", + "4a4a52": "731509", + "ffe652": "fffa52", + "7b8ca5": "d66d38", + "8c314a": "491c22", + "8c8c94": "d4301b", + "a5b5c5": "eea256", + "f7df4d": "c0f79b", + "f78473": "864a51", + "8c6b52": "845c46", + "deb552": "edc81f", + "7b5d47": "329c38", + "ce3a52": "491c22", + "e65263": "652d32", + "d0a94c": "65c859" + }, + "2": { + "4a526b": "102b2d", + "4a4a52": "1e711a", + "ffe652": "dde6b1", + "7b8ca5": "1e5256", + "8c314a": "0b4569", + "8c8c94": "0ba905", + "a5b5c5": "26686d", + "f7df4d": "ffe798", + "f78473": "5cc3f5", + "8c6b52": "5c713d", + "deb552": "b6d479", + "7b5d47": "bd7a0c", + "ce3a52": "1b8ad0", + "e65263": "2ba5f1", + "d0a94c": "ffca1a" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/314.json b/public/images/pokemon/variant/314.json new file mode 100644 index 00000000000..87852b5a6fa --- /dev/null +++ b/public/images/pokemon/variant/314.json @@ -0,0 +1,36 @@ +{ + "1": { + "56687b": "6b4448", + "5a6b8c": "9a4013", + "8cadce": "d66d38", + "adc5ef": "eea256", + "fbfafa": "ffffff", + "9c52bd": "57272c", + "9c8452": "c38c26", + "6b5a94": "371c21", + "ffe673": "fffa52", + "83a4c5": "a3d0f5", + "7b7b7b": "b82b18", + "e6b54a": "ffda31", + "3a3a3a": "710d00", + "005ad6": "439fec", + "ce8cde": "6a342c" + }, + "2": { + "56687b": "4badea", + "5a6b8c": "70a84f", + "8cadce": "c1db9c", + "adc5ef": "e5edcc", + "fbfafa": "8bfdea", + "9c52bd": "43a3df", + "9c8452": "074656", + "6b5a94": "255b95", + "ffe673": "3dc5d3", + "83a4c5": "ffde93", + "7b7b7b": "155870", + "e6b54a": "019792", + "3a3a3a": "0a2934", + "005ad6": "edb125", + "ce8cde": "77d4ee" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/32.json b/public/images/pokemon/variant/32.json new file mode 100644 index 00000000000..473edcae2af --- /dev/null +++ b/public/images/pokemon/variant/32.json @@ -0,0 +1,34 @@ +{ + "1": { + "101010": "101010", + "006342": "273161", + "63426b": "944f25", + "b51900": "28678a", + "de4229": "42adc1", + "ff6b52": "78d6d3", + "00a573": "3b4d7a", + "9c4aad": "ab5c24", + "bd63c5": "cf863e", + "19ce9c": "55729e", + "e69cd6": "e0c151", + "efbdef": "ede4ab", + "cecece": "cecece", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "006342": "b0384a", + "63426b": "142440", + "b51900": "b86527", + "de4229": "e1b13b", + "ff6b52": "eddd95", + "00a573": "d65e64", + "9c4aad": "133257", + "bd63c5": "253f5e", + "19ce9c": "ed938e", + "e69cd6": "375c73", + "efbdef": "5d91a1", + "cecece": "cecece", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/325.json b/public/images/pokemon/variant/325.json new file mode 100644 index 00000000000..e8c6641defc --- /dev/null +++ b/public/images/pokemon/variant/325.json @@ -0,0 +1,26 @@ +{ + "1": { + "ef84ad": "5ca0b5", + "f7a5bd": "6ac5c8", + "c5637b": "3c6b95", + "ffd6e6": "b4e6e7", + "6b6b7b": "2e7320", + "7b7b8c": "559b43", + "5a5a73": "7dbc53", + "3a4252": "18340c", + "a53a42": "2b4d7d", + "a5a5ad": "b5d780" + }, + "2": { + "ef84ad": "1f6759", + "f7a5bd": "379a85", + "c5637b": "144844", + "ffd6e6": "8dd6ab", + "6b6b7b": "72442d", + "7b7b8c": "dca878", + "5a5a73": "a7724a", + "3a4252": "72442d", + "a53a42": "0c2625", + "a5a5ad": "fbe3a3" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/326.json b/public/images/pokemon/variant/326.json new file mode 100644 index 00000000000..11e02009a26 --- /dev/null +++ b/public/images/pokemon/variant/326.json @@ -0,0 +1,32 @@ +{ + "1": { + "9c9ca5": "7ecdd1", + "d684ce": "7bb15b", + "636373": "3c6b95", + "ef7b94": "e99e76", + "f7bdf7": "bbfcf8", + "bd63ad": "559b43", + "a5425a": "a84331", + "f7a5b5": "f7d1a0", + "6b426b": "18340c", + "ce5a7b": "d06d50", + "e6a5de": "b5d780", + "4a4a52": "2b4d7d", + "7b7b84": "5ca0b5" + }, + "2": { + "9c9ca5": "fffade", + "d684ce": "67508c", + "636373": "e8bc75", + "ef7b94": "379a85", + "f7bdf7": "b395de", + "bd63ad": "574285", + "a5425a": "144844", + "f7a5b5": "5cba98", + "6b426b": "081f19", + "ce5a7b": "1f6759", + "e6a5de": "7a649c", + "4a4a52": "d08f55", + "7b7b84": "fbefb3" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/33.json b/public/images/pokemon/variant/33.json new file mode 100644 index 00000000000..331220de9ef --- /dev/null +++ b/public/images/pokemon/variant/33.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "5a3a63": "944f25", + "b51900": "b51900", + "de4229": "de4229", + "845a52": "42adc1", + "009463": "273161", + "945ab5": "cf863e", + "4acea5": "55729e", + "848484": "848484", + "ce84de": "e0c151", + "e6adef": "ede4ab", + "c5c5c5": "c5c5c5", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a3a63": "142440", + "b51900": "d98943", + "de4229": "edc85a", + "845a52": "e1b13b", + "009463": "b0384a", + "945ab5": "253f5e", + "4acea5": "ed938e", + "848484": "848484", + "ce84de": "375c73", + "e6adef": "5d91a1", + "c5c5c5": "c5c5c5", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/331.json b/public/images/pokemon/variant/331.json new file mode 100644 index 00000000000..abe5e0cfa6d --- /dev/null +++ b/public/images/pokemon/variant/331.json @@ -0,0 +1,30 @@ +{ + "1": { + "4a7310": "9f2a3f", + "ffe63a": "7aa1df", + "31944a": "b73736", + "215200": "69102c", + "003a10": "4e29c6", + "f7bd19": "448bc3", + "63bd6b": "dd6754", + "196b31": "891d2c", + "94c552": "d76868", + "739c3a": "d74f4f", + "8c6b3a": "123a5a", + "bdde7b": "e67f7f" + }, + "2": { + "4a7310": "6d3494", + "ffe63a": "eaa5c6", + "31944a": "caac82", + "215200": "694426", + "003a10": "5e223f", + "f7bd19": "d979b2", + "63bd6b": "e1d39d", + "196b31": "946e51", + "94c552": "9364a5", + "739c3a": "7c558d", + "8c6b3a": "983364", + "bdde7b": "a772bd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/332.json b/public/images/pokemon/variant/332.json new file mode 100644 index 00000000000..e9b487bca25 --- /dev/null +++ b/public/images/pokemon/variant/332.json @@ -0,0 +1,34 @@ +{ + "1": { + "319452": "831a1f", + "4a7310": "982443", + "7ba563": "b44040", + "bdef84": "ec8c8c", + "8cbd63": "c54b4b", + "215200": "710f2e", + "a5d674": "e16363", + "196b21": "891222", + "f7ce00": "7aa1df", + "525252": "123a5a", + "63b56b": "b2332f", + "a5d673": "df5252", + "8c6b3a": "448bc3", + "4aa552": "9f2f2c" + }, + "2": { + "319452": "b08d72", + "4a7310": "4f3956", + "7ba563": "704e7e", + "bdef84": "a779ba", + "8cbd63": "e3d7a6", + "215200": "583823", + "a5d674": "8c669b", + "196b21": "78582c", + "f7ce00": "f2aacd", + "525252": "a53b6f", + "63b56b": "cfc191", + "a5d673": "d7cda7", + "8c6b3a": "df87bb", + "4aa552": "c5a77f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/34.json b/public/images/pokemon/variant/34.json new file mode 100644 index 00000000000..748658a6a90 --- /dev/null +++ b/public/images/pokemon/variant/34.json @@ -0,0 +1,44 @@ +{ + "1": { + "101010": "101010", + "5a296b": "7a411d", + "004a63": "273161", + "73735a": "3b447a", + "73735b": "73735b", + "ad1000": "ad1000", + "e64231": "e64231", + "297b94": "3b4d7a", + "a55294": "cf863e", + "d673ef": "e0c151", + "4294c5": "55729e", + "c5c5a5": "6272a8", + "c4c4a7": "c4c4a7", + "c7c7a9": "c7c7a9", + "de94f7": "ede4ab", + "e6e6d6": "7687ab", + "fafafa": "8fa2c2", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a296b": "142440", + "004a63": "b0384a", + "73735a": "85204a", + "73735b": "a37355", + "ad1000": "d98943", + "e64231": "edc85a", + "297b94": "d65e64", + "a55294": "253f5e", + "d673ef": "375c73", + "4294c5": "ed938e", + "c5c5a5": "c43d63", + "c4c4a7": "e0b990", + "c7c7a9": "c7c7a9", + "de94f7": "5d91a1", + "e6e6d6": "d15271", + "fafafa": "de6476", + "fcfcfc": "ede1b4", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/345.json b/public/images/pokemon/variant/345.json new file mode 100644 index 00000000000..dc23adbef64 --- /dev/null +++ b/public/images/pokemon/variant/345.json @@ -0,0 +1,28 @@ +{ + "1": { + "633a84": "611746", + "6b5221": "679e3a", + "efd663": "fcf3a2", + "9c84ce": "bd3167", + "b5ade6": "ff5289", + "d6a531": "d8e374", + "efadb5": "b9f0ff", + "bd5284": "6084bd", + "ce7394": "84aedb", + "843a5a": "394287", + "7363b5": "801f4c" + }, + "2": { + "633a84": "b57c2d", + "6b5221": "661634", + "efd663": "de463e", + "9c84ce": "f5df73", + "b5ade6": "fff8a3", + "d6a531": "942532", + "efadb5": "beed9a", + "bd5284": "429949", + "ce7394": "7fcc68", + "843a5a": "296e47", + "7363b5": "dbb34d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/346.json b/public/images/pokemon/variant/346.json new file mode 100644 index 00000000000..090feeab922 --- /dev/null +++ b/public/images/pokemon/variant/346.json @@ -0,0 +1,32 @@ +{ + "1": { + "ffd6ef": "deffea", + "3a6b52": "7f183f", + "a57b10": "5e8c29", + "a5e68c": "f38460", + "944263": "304459", + "ce6394": "526f84", + "f7d642": "d8e374", + "7bc573": "eb564b", + "ff9cad": "d2faef", + "fff77b": "fcf3a2", + "529c5a": "b32843", + "cea531": "a7c961", + "ef6b8c": "93c6c5" + }, + "2": { + "ffd6ef": "a3ffc3", + "3a6b52": "96483b", + "a57b10": "661634", + "a5e68c": "ffe6b5", + "944263": "17404a", + "ce6394": "32806f", + "f7d642": "de463e", + "7bc573": "efbd8c", + "ff9cad": "7be3b6", + "fff77b": "ff754f", + "529c5a": "bf815c", + "cea531": "942532", + "ef6b8c": "53b491" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/396.json b/public/images/pokemon/variant/396.json new file mode 100644 index 00000000000..1881572247b --- /dev/null +++ b/public/images/pokemon/variant/396.json @@ -0,0 +1,44 @@ +{ + "1": { + "000000": "101010", + "3a2129": "07332d", + "3f1e27": "b06421", + "4a4343": "751e23", + "4f4747": "dbb070", + "524a4a": "156146", + "736363": "28854d", + "756565": "144a40", + "ff0000": "90cc58", + "9c4a21": "db963b", + "d67300": "edb651", + "8c7373": "bd453c", + "ff9429": "ffcf5e", + "ad9c9c": "ed7f4c", + "b3b3b3": "b3b3b3", + "b5b5b5": "d1a562", + "d6dede": "e3d09d", + "fcfcfc": "f0ebc5", + "ffffff": "ffffff" + }, + "2": { + "000000": "101010", + "3a2129": "111a36", + "3f1e27": "451915", + "4a4343": "163d4d", + "4f4747": "e5c595", + "524a4a": "1b2745", + "736363": "2f436b", + "756565": "e6a647", + "ff0000": "c4568a", + "9c4a21": "52281f", + "d67300": "63362b", + "8c7373": "307b82", + "ff9429": "8c604c", + "ad9c9c": "4da8a1", + "b3b3b3": "b3b3b3", + "b5b5b5": "debd8c", + "d6dede": "f0deaa", + "fcfcfc": "fcfad2", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/397.json b/public/images/pokemon/variant/397.json new file mode 100644 index 00000000000..e5fa30f65bd --- /dev/null +++ b/public/images/pokemon/variant/397.json @@ -0,0 +1,38 @@ +{ + "1": { + "9c4242": "528a3e", + "362d36": "0d4539", + "f75242": "8bba65", + "735a63": "bd453c", + "bd6300": "db963b", + "362c36": "8f431d", + "595759": "256e54", + "b5b5b5": "d9c798", + "523a4a": "751e23", + "5a525a": "28854d", + "7b4221": "b06421", + "9c848c": "ed7f4c", + "3d343d": "144a40", + "ff9429": "ffcf5e", + "3a3a3a": "156146", + "f9f9f9": "f0ebc5" + }, + "2": { + "9c4242": "c4568a", + "362d36": "162040", + "f75242": "f797ad", + "735a63": "307b82", + "bd6300": "63362b", + "362c36": "421917", + "595759": "edcf87", + "b5b5b5": "debd8c", + "523a4a": "163d4d", + "5a525a": "2f436b", + "7b4221": "52281f", + "9c848c": "4da8a1", + "3d343d": "e6a647", + "ff9429": "8c604c", + "3a3a3a": "152039", + "f9f9f9": "fcfad2" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/398.json b/public/images/pokemon/variant/398.json new file mode 100644 index 00000000000..387cddba886 --- /dev/null +++ b/public/images/pokemon/variant/398.json @@ -0,0 +1,36 @@ +{ + "1": { + "735a63": "bd453c", + "5c545c": "144a40", + "5a525a": "156146", + "7b6b7b": "28854d", + "f75242": "90cc58", + "4f3847": "ab5022", + "b5b5b5": "d7be89", + "9c4242": "5fad3b", + "7b4221": "b06421", + "fcfcfc": "e8e3b6", + "3a3a3a": "07332d", + "bd6300": "db963b", + "523a4a": "751e23", + "9c848c": "ed7f4c", + "ff9429": "ffcf5e" + }, + "2": { + "735a63": "307b82", + "5c545c": "e6a647", + "5a525a": "1b2745", + "7b6b7b": "293854", + "f75242": "e6bd4e", + "4f3847": "421917", + "b5b5b5": "debd8c", + "9c4242": "c4833d", + "7b4221": "52281f", + "fcfcfc": "fcfad2", + "3a3a3a": "080d1f", + "bd6300": "63362b", + "523a4a": "163d4d", + "9c848c": "4da8a1", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/403.json b/public/images/pokemon/variant/403.json new file mode 100644 index 00000000000..fac493a40e4 --- /dev/null +++ b/public/images/pokemon/variant/403.json @@ -0,0 +1,26 @@ +{ + "1": { + "b59c5a": "45babf", + "7badf7": "bb5c3a", + "943a52": "472614", + "637bb5": "903325", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "e64a52": "4f3217", + "42426b": "671919", + "736352": "267789" + }, + "2": { + "b59c5a": "9a31be", + "7badf7": "303465", + "943a52": "614b9a", + "637bb5": "222352", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "e64a52": "6f5dac", + "42426b": "121031", + "736352": "611c7f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/404.json b/public/images/pokemon/variant/404.json new file mode 100644 index 00000000000..b6621d02406 --- /dev/null +++ b/public/images/pokemon/variant/404.json @@ -0,0 +1,28 @@ +{ + "1": { + "736352": "267789", + "4a4a73": "671919", + "63637b": "f1dfb1", + "b59c5a": "45babf", + "637bb5": "903325", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "943a52": "472614", + "e64a52": "4f3217", + "7badf7": "bb5c3a" + }, + "2": { + "736352": "611c7f", + "4a4a73": "121031", + "63637b": "dee4f4", + "b59c5a": "9a31be", + "637bb5": "222352", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "943a52": "614b9a", + "e64a52": "6f5dac", + "7badf7": "303465" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/405.json b/public/images/pokemon/variant/405.json new file mode 100644 index 00000000000..1f6a0590bb8 --- /dev/null +++ b/public/images/pokemon/variant/405.json @@ -0,0 +1,28 @@ +{ + "1": { + "b59c5a": "45babf", + "7badf7": "bb5c3a", + "63637b": "f1dfb1", + "637bb5": "903325", + "943a52": "472614", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "4a4a73": "671919", + "e64a52": "4f3217", + "736352": "267789" + }, + "2": { + "b59c5a": "9a31be", + "7badf7": "303465", + "63637b": "dee4f4", + "637bb5": "222352", + "943a52": "614b9a", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "4a4a73": "121031", + "e64a52": "6f5dac", + "736352": "611c7f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/417.json b/public/images/pokemon/variant/417.json new file mode 100644 index 00000000000..27f45e74557 --- /dev/null +++ b/public/images/pokemon/variant/417.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3e364e": "734430", + "524941": "732e12", + "5a524a": "642f1a", + "4a425a": "5f2618", + "84523a": "9b314f", + "ef845a": "e26e6e", + "c5a563": "e95d6c", + "ffd663": "f17c7c", + "637b9c": "86452b", + "7bb5e6": "a25f37", + "cec5c5": "e8be64", + "f7f7f7": "faeda9", + "ffffff": "ffffff", + "7b7b84": "8e623c" + }, + "2": { + "101010": "101010", + "3e364e": "203243", + "524941": "2d284c", + "5a524a": "0f203a", + "4a425a": "23704c", + "84523a": "693939", + "ef845a": "e1b8ac", + "c5a563": "5ae7f6", + "ffd663": "8ffaff", + "637b9c": "a2dc76", + "7bb5e6": "e4fba1", + "cec5c5": "357577", + "f7f7f7": "5ba297", + "ffffff": "ffffff", + "7b7b84": "1f3f4e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/420.json b/public/images/pokemon/variant/420.json new file mode 100644 index 00000000000..6910d49d9d2 --- /dev/null +++ b/public/images/pokemon/variant/420.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "423131": "103d47", + "6b3a4a": "09303b", + "314252": "8f3833", + "3a734a": "ab554b", + "843152": "185158", + "ad426b": "368a7f", + "429442": "d98b77", + "52a54a": "f7bfa8", + "73ce5a": "fcdbc7", + "de6384": "51b095", + "ff8cad": "73d9ae", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "423131": "390f26", + "6b3a4a": "29091b", + "314252": "752a4a", + "3a734a": "9c4861", + "843152": "3b0d21", + "ad426b": "571539", + "429442": "a86a79", + "52a54a": "c29597", + "73ce5a": "dec3c3", + "de6384": "752648", + "ff8cad": "ad5168", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/421-overcast.json b/public/images/pokemon/variant/421-overcast.json new file mode 100644 index 00000000000..77c5c18415d --- /dev/null +++ b/public/images/pokemon/variant/421-overcast.json @@ -0,0 +1,34 @@ +{ + "1": { + "101010": "101010", + "105221": "ab554b", + "4a2942": "5e1228", + "7b294a": "103d47", + "7a2a4a": "236e6a", + "427b4a": "d98b77", + "6b427b": "962a3e", + "a53a63": "368a7f", + "ce527b": "51b095", + "52ad5a": "f7bfa8", + "5ac55a": "fcdbc7", + "845aad": "c75058", + "9c7bbd": "db7f7f", + "de7394": "73d9ae" + }, + "2": { + "101010": "101010", + "105221": "995969", + "4a2942": "521d44", + "7b294a": "390f26", + "7a2a4a": "571539", + "427b4a": "ba8087", + "6b427b": "8f4270", + "a53a63": "611c3b", + "ce527b": "752648", + "52ad5a": "cf9d9d", + "5ac55a": "e3cbca", + "845aad": "a86886", + "9c7bbd": "d197ac", + "de7394": "ad5168" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/421-sunshine.json b/public/images/pokemon/variant/421-sunshine.json new file mode 100644 index 00000000000..096641576c9 --- /dev/null +++ b/public/images/pokemon/variant/421-sunshine.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "006310": "e6d590", + "941e3f": "103d47", + "9c6b10": "c4655a", + "941f40": "5c1547", + "942142": "591230", + "ce3a6b": "751a38", + "cf3c6d": "872e5c", + "cf3e6e": "368a7f", + "19943a": "f0f0bd", + "d6b55a": "db8e7d", + "f7de73": "f7bfa8", + "e66394": "51b095", + "de84ad": "962a3e", + "ffa5c5": "c75058", + "ffe6f7": "d0fdf0", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "006310": "72559e", + "941e3f": "390f26", + "9c6b10": "4a2942", + "941f40": "3a234a", + "942142": "804058", + "ce3a6b": "995969", + "cf3c6d": "563666", + "cf3e6e": "571539", + "19943a": "9574b3", + "d6b55a": "914972", + "f7de73": "b35f86", + "e66394": "752648", + "de84ad": "cf9d9d", + "ffa5c5": "e3cbca", + "ffe6f7": "d26393", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/446.json b/public/images/pokemon/variant/446.json new file mode 100644 index 00000000000..60d20fba25a --- /dev/null +++ b/public/images/pokemon/variant/446.json @@ -0,0 +1,38 @@ +{ + "1": { + "000000": "101010", + "104242": "4d0f3f", + "215a73": "701a55", + "317b9c": "943469", + "3194b5": "ad4b70", + "524a10": "91504e", + "73737b": "756363", + "7b5a31": "522663", + "948442": "351b52", + "9c3a42": "714084", + "b5b563": "de9494", + "cccfce": "cbc4c4", + "cecece": "cecece", + "de9494": "a270b5", + "efe684": "f0beb1", + "ffffff": "ffffff" + }, + "2": { + "000000": "101010", + "104242": "6398b7", + "215a73": "a3cacd", + "317b9c": "cbe4e2", + "3194b5": "edf5f4", + "524a10": "233f69", + "73737b": "525266", + "7b5a31": "e6cda1", + "948442": "c2986e", + "9c3a42": "487d43", + "b5b563": "38638f", + "cccfce": "bfc7cb", + "cecece": "cecece", + "de9494": "9cb780", + "efe684": "4781a8", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/472.json b/public/images/pokemon/variant/472.json index 937ea1334de..9e19b9f2353 100644 --- a/public/images/pokemon/variant/472.json +++ b/public/images/pokemon/variant/472.json @@ -1,33 +1,34 @@ { "1": { - "5a63a5": "974d16", - "de3a6b": "4c83a9", - "293163": "5c2a09", - "424252": "2a2752", - "ffde00": "84b8ff", - "b5a5ff": "e9bb57", - "6b6b7b": "48487a", - "737bc5": "b86f27", - "730800": "143262", - "9c8cef": "d28b36", - "ad2131": "2a6197", - "c55294": "5270c5", "ad9400": "4b64ff", - "2a2a2a": "130e27" + "c55294": "5270c5", + "9c8cef": "d28b36", + "424252": "2a2752", + "de3a6b": "4c83a9", + "2a2a2a": "130e27", + "6b6b7b": "48487a", + "b5a5ff": "e9bb57", + "ffde00": "84b8ff", + "ad2131": "2a6197", + "737bc5": "b86f27", + "5a63a5": "974d16", + "293163": "5c2a09", + "730800": "143262" }, "2": { - "5a63a5": "731e37", - "de3a6b": "594b6a", - "293163": "43050d", - "424252": "57b6a6", - "ffde00": "6bffd4", - "b5a5ff": "eb6a64", - "6b6b7b": "81e4c2", - "737bc5": "952b41", - "730800": "262138", - "9c8cef": "b3404a", - "ad2131": "453b57", "ad9400": "16a9c0", - "2a2a2a": "103f47" + "c55294": "e38b3d", + "9c8cef": "b3404a", + "424252": "57b6a6", + "de3a6b": "594b6a", + "2a2a2a": "103f47", + "6b6b7b": "81e4c2", + "b5a5ff": "eb6a64", + "ffde00": "6bffd4", + "ad2131": "453b57", + "737bc5": "952b41", + "5a63a5": "731e37", + "293163": "43050d", + "730800": "262138" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/476.json b/public/images/pokemon/variant/476.json new file mode 100644 index 00000000000..5f54f51d1f9 --- /dev/null +++ b/public/images/pokemon/variant/476.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "5a2921": "0e291d", + "7b3129": "1e3f30", + "293a4a": "352310", + "3a4a5a": "59452f", + "bd3152": "30594a", + "e65a63": "578b6b", + "194a84": "62230e", + "3a63ad": "9d3a18", + "5a7bce": "c76227", + "ef7b8c": "77b472", + "739ce6": "de7f36", + "84adf7": "e68c43", + "c5cede": "c5cede", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a2921": "21132c", + "7b3129": "301b3f", + "293a4a": "111b28", + "3a4a5a": "253142", + "bd3152": "482a5e", + "e65a63": "6a5394", + "194a84": "30578e", + "3a63ad": "5b97c1", + "5a7bce": "92dee8", + "ef7b8c": "747fc4", + "739ce6": "dbfff4", + "84adf7": "c2efe5", + "c5cede": "c5cede", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/498.json b/public/images/pokemon/variant/498.json new file mode 100644 index 00000000000..b23a3afec63 --- /dev/null +++ b/public/images/pokemon/variant/498.json @@ -0,0 +1,44 @@ +{ + "1": { + "101010": "101010", + "2e1e1e": "b1a385", + "2e1f1f": "d1c5ab", + "302020": "11241c", + "312121": "1e2a4d", + "47382f": "472770", + "473830": "f7f5e9", + "4a3a31": "2d405c", + "7a3827": "1c2e1b", + "7b3a29": "194737", + "947310": "cc955e", + "bd6331": "3b805f", + "ce423a": "3e4f37", + "a54a42": "2d452b", + "e66b29": "b5cca5", + "efbd08": "f0cc8b", + "ef843a": "65b57c", + "c5ada5": "c1c5a5", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "2e1e1e": "ac8b61", + "2e1f1f": "c4a884", + "302020": "111424", + "312121": "47150e", + "47382f": "456da8", + "473830": "e0d3ab", + "4a3a31": "733421", + "7a3827": "222742", + "7b3a29": "522e2e", + "947310": "828399", + "bd6331": "85564e", + "ce423a": "323754", + "a54a42": "4c5275", + "e66b29": "778aa6", + "efbd08": "c7c8d9", + "ef843a": "ab8274", + "c5ada5": "dddef0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/499.json b/public/images/pokemon/variant/499.json new file mode 100644 index 00000000000..ad525f3e114 --- /dev/null +++ b/public/images/pokemon/variant/499.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "3a2121": "1e2a4d", + "3a3a3a": "122b18", + "523129": "2d405c", + "7a3827": "1c2e1b", + "7b3a29": "234f3d", + "736310": "ab6441", + "4a4a4a": "264524", + "bd5a31": "41785a", + "ce423a": "3e4f37", + "ef7329": "62a174", + "b59421": "cc955e", + "efc53a": "f0cc8b", + "c5ada5": "c5ada5", + "c4aea7": "c4aea7", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "3a2121": "47150e", + "3a3a3a": "1c2245", + "523129": "733421", + "7a3827": "222742", + "7b3a29": "533330", + "736310": "3c3e5b", + "4a4a4a": "272d4f", + "bd5a31": "7a5a56", + "ce423a": "323754", + "ef7329": "967a71", + "b59421": "828399", + "efc53a": "c7c8d9", + "c5ada5": "c4a884", + "c4aea7": "c4aea7", + "fcfcfc": "e0d3ab", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/500.json b/public/images/pokemon/variant/500.json new file mode 100644 index 00000000000..028639cf6bb --- /dev/null +++ b/public/images/pokemon/variant/500.json @@ -0,0 +1,56 @@ +{ + "1": { + "101010": "101010", + "1f1f1f": "0e1a10", + "212121": "1e2a4d", + "313131": "2d405c", + "333333": "2c2f35", + "741910": "472770", + "7a1910": "1c2e1b", + "7b1910": "257036", + "7a1a11": "445e3f", + "732900": "2c473e", + "7b5a08": "ab6441", + "a53a31": "3e4f37", + "e62a29": "1d1151", + "e63127": "58db58", + "e63129": "627556", + "bd5221": "3e6952", + "ef6321": "699676", + "b58c21": "cc955e", + "ef8c08": "86e677", + "efbd08": "f0cc8b", + "f0be0a": "c7f797", + "adadad": "a3a6ad", + "b0b0b0": "b0b0b0", + "f7f7f7": "e4eef5", + "fafafa": "fafafa" + }, + "2": { + "101010": "101010", + "1f1f1f": "0f162a", + "212121": "47150e", + "313131": "733421", + "333333": "3b352b", + "741910": "456da8", + "7a1910": "20243d", + "7b1910": "ba843d", + "7a1a11": "3c3f59", + "732900": "522e2e", + "7b5a08": "3c3e5b", + "a53a31": "2d3250", + "e62a29": "1d3f70", + "e63127": "e6ca65", + "e63129": "464a66", + "bd5221": "7a5a56", + "ef6321": "967a71", + "b58c21": "828399", + "ef8c08": "f2d591", + "efbd08": "c7c8d9", + "f0be0a": "faefc7", + "adadad": "c4a884", + "b0b0b0": "b0b0b0", + "f7f7f7": "e0d3ab", + "fafafa": "fafafa" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/511.json b/public/images/pokemon/variant/511.json new file mode 100644 index 00000000000..5e278b5e0fc --- /dev/null +++ b/public/images/pokemon/variant/511.json @@ -0,0 +1,26 @@ +{ + "1": { + "ffce7b": "edc293", + "f79cad": "f77e94", + "b5637b": "a3415f", + "84ce9c": "e6c545", + "194a29": "912f1c", + "087331": "c45331", + "087030": "8c5915", + "cea55a": "d9a177", + "735221": "bd7653", + "19a552": "d97b41" + }, + "2": { + "ffce7b": "8ecaed", + "f79cad": "f788cb", + "b5637b": "b5539d", + "84ce9c": "ffa8dc", + "194a29": "4c2d7a", + "087331": "683b8c", + "087030": "d16fb9", + "cea55a": "73acde", + "735221": "3f6aa6", + "19a552": "8a53a6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/512.json b/public/images/pokemon/variant/512.json new file mode 100644 index 00000000000..903ff3906bb --- /dev/null +++ b/public/images/pokemon/variant/512.json @@ -0,0 +1,32 @@ +{ + "1": { + "a57b3a": "a65b3d", + "4f4f4f": "a36e46", + "087331": "c74638", + "194a29": "a12d25", + "c5c5c5": "dbc086", + "735221": "733224", + "ffce7b": "eab68b", + "84ce9c": "ebb54b", + "fcfcfc": "ebe0ab", + "cea55a": "c8895f", + "087030": "9e6426", + "9c9c9c": "cfa067", + "19a552": "ed6f53" + }, + "2": { + "a57b3a": "3762bf", + "4f4f4f": "3073ab", + "087331": "522880", + "194a29": "331961", + "c5c5c5": "5bc6de", + "735221": "2a42a1", + "ffce7b": "58aee0", + "84ce9c": "ffa8dc", + "fcfcfc": "79f7f3", + "cea55a": "4686cf", + "087030": "d16fb9", + "9c9c9c": "4099c2", + "19a552": "6e368f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/513.json b/public/images/pokemon/variant/513.json new file mode 100644 index 00000000000..9a19fbc4977 --- /dev/null +++ b/public/images/pokemon/variant/513.json @@ -0,0 +1,26 @@ +{ + "1": { + "ffce7b": "ffe6c9", + "bd423a": "28629c", + "e65242": "3d9bbe", + "7b3131": "1b3e70", + "a57b3a": "e4907f", + "cea55a": "f9b9a2", + "bd453c": "67bdc7", + "735221": "c3635b", + "f79442": "a6f5e9" + }, + "2": { + "ffce7b": "ed8c7b", + "bd423a": "d5b393", + "e65242": "f4ecd7", + "7b3131": "ad7a63", + "a57b3a": "bc2f2f", + "525252": "22607d", + "cea55a": "d4554c", + "bd453c": "e7613c", + "848484": "368d9e", + "735221": "a1272f", + "f79442": "fe934f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/514.json b/public/images/pokemon/variant/514.json new file mode 100644 index 00000000000..c42a3878cc1 --- /dev/null +++ b/public/images/pokemon/variant/514.json @@ -0,0 +1,37 @@ +{ + "1": { + "999999": "6f94c7", + "bd423a": "265494", + "e65242": "3a7bb5", + "7a3131": "386f94", + "3b3b3b": "465f9e", + "c5c5c5": "97c0e6", + "611b2d": "193170", + "ffce7b": "ffe2bf", + "f79442": "76e2e8", + "fcfcfc": "c0e7fc", + "a57b3a": "d99479", + "cea55a": "edba9a", + "bd4139": "509cbf", + "73572d": "ba6a57" + }, + "2": { + "999999": "cc762b", + "bd423a": "cfb88f", + "e65242": "ede9d1", + "7a3131": "cc592b", + "3b3b3b": "ad4d1d", + "c5c5c5": "e3a13d", + "611b2d": "a88260", + "c7c7c7": "54abb3", + "ffce7b": "cc643b", + "525252": "22607d", + "f79442": "f7ab4d", + "fcfcfc": "f7cc57", + "a57b3a": "782017", + "cea55a": "943722", + "bd4139": "e07a3a", + "9c9c9c": "368d9e", + "73572d": "5c0e0e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/515.json b/public/images/pokemon/variant/515.json new file mode 100644 index 00000000000..66d23ed94da --- /dev/null +++ b/public/images/pokemon/variant/515.json @@ -0,0 +1,28 @@ +{ + "1": { + "ffce7b": "fff187", + "9ce6ef": "add687", + "188bab": "42753d", + "a57b3a": "b5893c", + "9de8f2": "86e387", + "21739c": "136b3b", + "198cad": "219448", + "29b5de": "34c15e", + "cea55a": "e0c265", + "735221": "735f21", + "003a73": "0a4a2d" + }, + "2": { + "ffce7b": "e76092", + "9ce6ef": "afc3fe", + "188bab": "8490e3", + "a57b3a": "b32e77", + "9de8f2": "f2bbd7", + "21739c": "cc70a4", + "198cad": "eb98bf", + "29b5de": "ffc9dd", + "cea55a": "cc4580", + "735221": "8f1f68", + "003a73": "a64e8b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/516.json b/public/images/pokemon/variant/516.json new file mode 100644 index 00000000000..c7c8ce95eb9 --- /dev/null +++ b/public/images/pokemon/variant/516.json @@ -0,0 +1,30 @@ +{ + "1": { + "a57b3a": "9c7935", + "106b8c": "08420d", + "003a73": "13571a", + "c5c5c5": "aecf86", + "735221": "7b5e29", + "ffce7b": "fadd73", + "9ce6ef": "cade6f", + "fcfcfc": "edf7c3", + "2290a8": "568c30", + "218ca5": "3c8c22", + "29b5de": "6fad37", + "cea55a": "c4a148" + }, + "2": { + "a57b3a": "b32e77", + "106b8c": "cc70a4", + "003a73": "a64e8b", + "c5c5c5": "59b7d4", + "735221": "8f1f68", + "ffce7b": "e76092", + "9ce6ef": "afc3fe", + "fcfcfc": "7cfcf7", + "2290a8": "8490e3", + "218ca5": "eb98bf", + "29b5de": "ffc9dd", + "cea55a": "cc4580" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/522.json b/public/images/pokemon/variant/522.json new file mode 100644 index 00000000000..ed387dd09bb --- /dev/null +++ b/public/images/pokemon/variant/522.json @@ -0,0 +1,34 @@ +{ + "1": { + "7b7b7b": "505a9b", + "525252": "95355d", + "cecece": "788bcb", + "ffe600": "61e4bf", + "a5a5a5": "7e98dc", + "005a9c": "75c239", + "505050": "3d4488", + "ffffff": "b9cfef", + "191f1f": "2e0d1f", + "3a3a3a": "731f51", + "00adde": "b9e96c", + "8c7321": "33a08a", + "292929": "53173b", + "192121": "43172f" + }, + "2": { + "7b7b7b": "731515", + "525252": "ebc37d", + "cecece": "97221a", + "ffe600": "36c294", + "a5a5a5": "d37047", + "005a9c": "30309d", + "505050": "4e1416", + "ffffff": "c23e2e", + "191f1f": "370b0b", + "3a3a3a": "d3874e", + "00adde": "3e4ddc", + "8c7321": "288278", + "292929": "914824", + "192121": "661212" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/523.json b/public/images/pokemon/variant/523.json new file mode 100644 index 00000000000..daf0e7ec6d6 --- /dev/null +++ b/public/images/pokemon/variant/523.json @@ -0,0 +1,42 @@ +{ + "1": { + "777777": "47548f", + "363d3d": "353573", + "005a9c": "75c239", + "ffffff": "b9cfef", + "171f1f": "430f30", + "797979": "7080c6", + "8c7321": "33a08a", + "293131": "6a1d44", + "5b5b5b": "3d467d", + "8a711e": "33a08a", + "3a4242": "84294f", + "353535": "43172f", + "ffe600": "61e4bf", + "3a3a3a": "5d213a", + "00adde": "b9e96c", + "cecece": "7e91d3", + "a5a5a5": "5265a4", + "192121": "57163d" + }, + "2": { + "777777": "731515", + "363d3d": "4e1416", + "005a9c": "30309d", + "ffffff": "c23e2e", + "171f1f": "661212", + "797979": "da7248", + "8c7321": "288278", + "293131": "c89161", + "5b5b5b": "641818", + "8a711e": "85cd99", + "3a4242": "ebc37d", + "353535": "501a19", + "ffe600": "36c294", + "3a3a3a": "682321", + "00adde": "3e4ddc", + "cecece": "97221a", + "a5a5a5": "861816", + "192121": "9e533b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/535.json b/public/images/pokemon/variant/535.json new file mode 100644 index 00000000000..bc44b1280dd --- /dev/null +++ b/public/images/pokemon/variant/535.json @@ -0,0 +1,31 @@ +{ + "1": { + "6bbdff": "a9c4d7", + "5b5959": "801941", + "626262": "615757", + "3f3f3f": "3e3838", + "385f87": "801941", + "292929": "420e2d", + "6c8ec1": "b53a57", + "62b4f6": "d65a5a", + "7394c5": "6f8fb1", + "424242": "5e1a39", + "3a638c": "40567d" + }, + "2": { + "6bbdff": "672a23", + "5b5959": "d76d39", + "626262": "5a6363", + "3f3f3f": "363c3e", + "385f87": "ac6634", + "292929": "7d2414", + "6c8ec1": "cd984a", + "945a4a": "52809b", + "62b4f6": "f3cd69", + "ffdebd": "aadfe0", + "7394c5": "54131a", + "424242": "ac4423", + "c59c84": "7fb8c2", + "3a638c": "420f1d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/536.json b/public/images/pokemon/variant/536.json new file mode 100644 index 00000000000..40d3ea06a02 --- /dev/null +++ b/public/images/pokemon/variant/536.json @@ -0,0 +1,44 @@ +{ + "1": { + "000000": "101010", + "292929": "400a32", + "10427b": "40567d", + "196373": "73163a", + "424242": "5e1246", + "5a5a5a": "58504b", + "615f5f": "906f59", + "636363": "801c4e", + "945a4a": "945a4a", + "296bad": "6f8fb1", + "52a5b5": "b53a57", + "0894d6": "a9c4d7", + "c59c84": "c59c84", + "ffdebd": "e3c998", + "84e6d6": "d65a5a", + "c0c0c0": "c9b38b", + "c5c5c5": "c08031", + "d1d1d1": "ffffff", + "ffffff": "e6b854" + }, + "2": { + "000000": "101010", + "292929": "7d2414", + "10427b": "4a1423", + "196373": "ac6634", + "424242": "ac4423", + "5a5a5a": "114232", + "615f5f": "467692", + "636363": "d76d39", + "945a4a": "44718c", + "296bad": "5d171e", + "52a5b5": "cd984a", + "0894d6": "75332b", + "c59c84": "7fb8c2", + "ffdebd": "aadfe0", + "84e6d6": "f3cd69", + "c0c0c0": "6fa6be", + "c5c5c5": "378c70", + "d1d1d1": "ffffff", + "ffffff": "5bb186" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/537.json b/public/images/pokemon/variant/537.json new file mode 100644 index 00000000000..99c9aaf0382 --- /dev/null +++ b/public/images/pokemon/variant/537.json @@ -0,0 +1,33 @@ +{ + "1": { + "404040": "631739", + "196373": "801941", + "10427b": "40567d", + "52a58c": "b53a57", + "636363": "801c4e", + "0894d6": "a9c4d7", + "ef5a3a": "e6b854", + "296bad": "6f8fb1", + "b53a21": "c08031", + "73e6ce": "d65a5a", + "424242": "5e1246", + "363636": "400a32", + "292929": "440f2f" + }, + "2": { + "404040": "323c39", + "196373": "883e24", + "10427b": "370b10", + "52a58c": "bf8d44", + "636363": "d76d39", + "0894d6": "75332b", + "ef5a3a": "5fc592", + "296bad": "561b21", + "b53a21": "33866c", + "73e6ce": "f9d576", + "c5c5c5": "ffffff", + "424242": "ac4423", + "363636": "611d11", + "292929": "7b2a17" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/554.json b/public/images/pokemon/variant/554.json new file mode 100644 index 00000000000..85cee2b5e73 --- /dev/null +++ b/public/images/pokemon/variant/554.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3a2919": "946344", + "571515": "2e3573", + "5a1919": "a16012", + "634231": "b0895f", + "5a5a5a": "5a5a5a", + "9c2929": "4e5aa3", + "ce3131": "6c7ec4", + "947310": "bda373", + "ad5a29": "d19628", + "cea519": "cfc191", + "ffce21": "e3e2ba", + "ff9452": "e8c661", + "a5a5ad": "a5a5ad", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "3a2919": "3a2919", + "571515": "bf7558", + "5a1919": "291d1b", + "634231": "941c32", + "5a5a5a": "5a5a5a", + "9c2929": "d6a376", + "ce3131": "f0e2b9", + "947310": "9c1c2b", + "ad5a29": "4a3021", + "cea519": "ba343d", + "ffce21": "d14949", + "ff9452": "614b38", + "a5a5ad": "a5a5ad", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/555-zen.json b/public/images/pokemon/variant/555-zen.json new file mode 100644 index 00000000000..da85df60fdb --- /dev/null +++ b/public/images/pokemon/variant/555-zen.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "215263": "592226", + "3a7b8c": "7d3e3d", + "425a63": "b5775b", + "4a4a52": "4a4a52", + "529cad": "8c5b54", + "7b5229": "3b3f87", + "7ba5bd": "c99d7b", + "9c9ca5": "9c9ca5", + "ad6b29": "5e65b5", + "b5d6ef": "e0c19b", + "e6a563": "7b8dd4", + "f7f7f7": "f7f7f7" + }, + "2": { + "101010": "101010", + "215263": "523273", + "3a7b8c": "805a9c", + "425a63": "2e2a51", + "4a4a52": "4a4a52", + "529cad": "a278b0", + "7b5229": "9e907e", + "7ba5bd": "494162", + "9c9ca5": "9c9ca5", + "ad6b29": "bab5a6", + "b5d6ef": "605375", + "e6a563": "f5f3e9", + "f7f7f7": "f7f7f7" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/555.json b/public/images/pokemon/variant/555.json new file mode 100644 index 00000000000..97d623f0d7d --- /dev/null +++ b/public/images/pokemon/variant/555.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4a4a52": "4a4a52", + "523a21": "a65f33", + "631919": "222675", + "6b5a10": "b04a21", + "8c1929": "2d3685", + "8c8c9c": "8c8c9c", + "ad2119": "3a4c94", + "b57b4a": "d9a455", + "bd0000": "cfc191", + "bd9429": "c26932", + "ef1010": "e3e2ba", + "efa56b": "e8cd7b", + "efce10": "d9944a", + "f7f7f7": "f7f7f7" + }, + "2": { + "101010": "101010", + "4a4a52": "4a4a52", + "523a21": "291b19", + "631919": "a86722", + "6b5a10": "941c32", + "8c1929": "d6993e", + "8c8c9c": "8c8c9c", + "ad2119": "e8ca5d", + "b57b4a": "4a3021", + "bd0000": "bab5a6", + "bd9429": "ba343d", + "ef1010": "f5f3e9", + "efa56b": "614b38", + "efce10": "d14949", + "f7f7f7": "f7f7f7" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/566.json b/public/images/pokemon/variant/566.json new file mode 100644 index 00000000000..cb2601d4a93 --- /dev/null +++ b/public/images/pokemon/variant/566.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "10316b": "1c4943", + "31529c": "336d60", + "3184f7": "4f9279", + "3a3a3a": "3a3a3a", + "523131": "641b49", + "524229": "2f6934", + "944242": "aa3c79", + "9c9cad": "9c9cad", + "bd9452": "66b562", + "de524a": "eb7fae", + "e6e6e6": "e6e6e6", + "f7ce63": "9be08b" + }, + "2": { + "101010": "101010", + "10316b": "283957", + "31529c": "929bdf", + "3184f7": "c4d3ff", + "3a3a3a": "3a3a3a", + "523131": "284452", + "524229": "211f69", + "944242": "44988f", + "9c9cad": "9c9cad", + "bd9452": "3b4bad", + "de524a": "65cda4", + "e6e6e6": "e6e6e6", + "f7ce63": "557ecd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/567.json b/public/images/pokemon/variant/567.json new file mode 100644 index 00000000000..f4bb6a76111 --- /dev/null +++ b/public/images/pokemon/variant/567.json @@ -0,0 +1,37 @@ +{ + "1": { + "101010": "101010", + "523131": "454f52", + "635229": "2f6934", + "10316b": "1c4943", + "086b5a": "b3296b", + "9c4a4a": "7b8687", + "844252": "844252", + "de524a": "abb3b3", + "bd9452": "66b562", + "f7ce63": "9be08b", + "31529c": "336d60", + "10a594": "ee609d", + "3184f7": "4f9279", + "9c9cad": "9c9cad", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "523131": "284452", + "635229": "211f69", + "10316b": "283957", + "086b5a": "462d7e", + "9c4a4a": "44988f", + "844252": "844252", + "de524a": "65cda4", + "bd9452": "3b4bad", + "f7ce63": "557ecd", + "31529c": "929bdf", + "10a594": "7346a1", + "3184f7": "c4d3ff", + "9c9cad": "9c9cad", + "ffffff": "ffffff" + + } +} diff --git a/public/images/pokemon/variant/572.json b/public/images/pokemon/variant/572.json index 87200b60097..84a300c590d 100644 --- a/public/images/pokemon/variant/572.json +++ b/public/images/pokemon/variant/572.json @@ -1,24 +1,28 @@ { "1": { - "8c847b": "b2af6e", - "524a42": "525042", - "ffffff": "ffffff", - "decec5": "decec5", - "bdb5a5": "dad7a1", - "bd2929": "f28989", - "101010": "101010", - "d65252": "f8c1c1", - "ef8484": "fab7b7" + "4f473f": "113026", + "4d443e": "428066", + "918b83": "60a37b", + "d65252": "458256", + "47403b": "802b50", + "faf5f5": "b3e8ba", + "8c847b": "b34967", + "decec5": "87cc9a", + "bdb5a5": "cf6b77", + "bd2929": "256145", + "ef8484": "63a86a" }, "2": { - "8c847b": "5f807e", - "524a42": "5f807e", - "ffffff": "d7e8e6", - "decec5": "cbdcda", - "bdb5a5": "aec8c6", - "bd2929": "b08631", - "101010": "101010", - "d65252": "e6c88d", - "ef8484": "dab977" + "4f473f": "19d684", + "4d443e": "466336", + "918b83": "67824d", + "d65252": "82a65e", + "47403b": "101931", + "faf5f5": "d9e3aa", + "8c847b": "193457", + "decec5": "7f915e", + "bdb5a5": "294a6b", + "bd2929": "558f45", + "ef8484": "b4cf88" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/573.json b/public/images/pokemon/variant/573.json new file mode 100644 index 00000000000..3f4ce9e186f --- /dev/null +++ b/public/images/pokemon/variant/573.json @@ -0,0 +1,26 @@ +{ + "1": { + "bdb5b5": "60a67c", + "877e76": "458766", + "decec5": "87cc9a", + "4f473f": "113026", + "bdad9c": "cf6b77", + "faf5f5": "b3e8ba", + "d65252": "256145", + "4d453f": "802b50", + "8a8078": "b34967", + "ef8484": "58a672" + }, + "2": { + "bdb5b5": "597041", + "877e76": "3d542d", + "decec5": "7f915e", + "4f473f": "19d684", + "bdad9c": "294a6b", + "faf5f5": "d9e3aa", + "d65252": "558f45", + "4d453f": "101931", + "8a8078": "193457", + "ef8484": "b4cf88" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/626.json b/public/images/pokemon/variant/626.json new file mode 100644 index 00000000000..2f23c357b34 --- /dev/null +++ b/public/images/pokemon/variant/626.json @@ -0,0 +1,52 @@ +{ + "1": { + "101010": "101010", + "2b231c": "342b22", + "312921": "303120", + "4a3119": "122119", + "593b24": "362126", + "4a4231": "4a4831", + "6b4a29": "565796", + "694b2c": "513236", + "694b2d": "5f3539", + "714d29": "2d4a3a", + "3a3a42": "4d150f", + "6b6b73": "802d1f", + "946b31": "4d6650", + "966d34": "983525", + "ad8c29": "8580c4", + "9c845a": "9e655c", + "9c845c": "9e655e", + "9c855d": "9e655cx", + "bda57b": "bd8c7b", + "ffc54a": "c0b5eb", + "9ca5a5": "a34933", + "f7d69c": "f38d5d", + "fff7ce": "fed292" + }, + "2": { + "101010": "101010", + "2b231c": "443520", + "312921": "962430", + "4a3119": "855168", + "593b24": "905932", + "4a4231": "cc4545", + "6b4a29": "678db8", + "694b2c": "907532", + "694b2d": "907d32", + "714d29": "c17c95", + "3a3a42": "7f5310", + "6b6b73": "d49612", + "946b31": "e4b3b3", + "966d34": "92bcd4", + "ad8c29": "ca8928", + "9c845a": "beab6c", + "9c845c": "d2c084", + "9c855d": "db9a39", + "bda57b": "efeac2", + "ffc54a": "c2e5f0", + "9ca5a5": "e9ca5a", + "f7d69c": "f5cc51", + "fff7ce": "fff1be" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/643.json b/public/images/pokemon/variant/643.json new file mode 100644 index 00000000000..32afc3ef939 --- /dev/null +++ b/public/images/pokemon/variant/643.json @@ -0,0 +1,52 @@ +{ + "1": { + "4b4b6b": "a58419", + "faf5f5": "7b7e8a", + "ff6331": "ffee6b", + "3f3e5c": "374052", + "f7f8ff": "414659", + "616587": "2c2d45", + "ffa531": "fcfade", + "757b96": "d6c563", + "31314d": "1f2230", + "6e7491": "212236", + "3ab5f7": "e0912f", + "454166": "232738", + "de2908": "ffca0a", + "b8b9d1": "f0edc2", + "c1c1d6": "565a69", + "686d8c": "596675", + "424061": "0d0d1a", + "afb1cc": "2f3247", + "d6c5b5": "f2f2d8", + "afb1c7": "97a5b0", + "e6b573": "f2ecaa", + "767e9c": "3c4154", + "f5ebeb": "e6e7ef" + }, + "2": { + "4b4b6b": "19323c", + "faf5f5": "7a8fe7", + "ff6331": "9df377", + "3f3e5c": "19143f", + "f7f8ff": "a9bbff", + "616587": "2d3984", + "ffa531": "5cdca6", + "757b96": "3a6d71", + "31314d": "160837", + "6e7491": "3c50a1", + "3ab5f7": "d95486", + "454166": "2d3984", + "de2908": "3e947c", + "b8b9d1": "4f9290", + "c1c1d6": "647bd9", + "686d8c": "2b2871", + "424061": "18225f", + "afb1cc": "647bd9", + "d6c5b5": "3d8073", + "afb1c7": "343d8e", + "e6b573": "4ba789", + "767e9c": "3c50a1", + "f5ebeb": "4459a2" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/643_2.png b/public/images/pokemon/variant/643_2.png new file mode 100644 index 00000000000..fbd2a6e109c Binary files /dev/null and b/public/images/pokemon/variant/643_2.png differ diff --git a/public/images/pokemon/variant/644.json b/public/images/pokemon/variant/644.json new file mode 100644 index 00000000000..e84e7373389 --- /dev/null +++ b/public/images/pokemon/variant/644.json @@ -0,0 +1,48 @@ +{ + "1": { + "1a1a21": "35296b", + "2c2c35": "c1c8e8", + "103a52": "251076", + "191921": "686c99", + "22222e": "705ba8", + "005da4": "4800e3", + "31313a": "cfd0e6", + "6bf7ff": "b77dff", + "00c5ff": "7626ff", + "1a1821": "7888c2", + "23232f": "8c9bd1", + "ce0000": "a44bf2", + "121212": "54428f", + "940000": "762fcc", + "52525a": "e6e7f2", + "003682": "4c29ab", + "08528c": "3b1899", + "212129": "9b9fc4", + "111111": "5b5f8c", + "009cde": "dbbaff", + "101010": "49568f" + }, + "2": { + "1a1a21": "350707", + "2c2c35": "9c5fa4", + "103a52": "671212", + "191921": "843172", + "22222e": "350707", + "005da4": "c8433a", + "31313a": "ef9dae", + "6bf7ff": "f5e5da", + "00c5ff": "fbd3a8", + "1a1821": "5e286f", + "23232f": "763e7f", + "ce0000": "f3d32c", + "121212": "210214", + "940000": "aa5d0e", + "52525a": "ffc5d1", + "003682": "671212", + "08528c": "821b1b", + "212129": "ca6c94", + "111111": "4a1a4c", + "009cde": "ef806b", + "101010": "3b1a4c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/646-black.json b/public/images/pokemon/variant/646-black.json new file mode 100644 index 00000000000..70094ae228b --- /dev/null +++ b/public/images/pokemon/variant/646-black.json @@ -0,0 +1,59 @@ +{ + "1": { + "2f2f38": "112240", + "6b8c7b": "2b4366", + "524a31": "203c5c", + "191921": "6a6a94", + "648776": "905dcf", + "315a42": "1a2b4d", + "e3e3dc": "d4c3f7", + "e8e8dc": "e6a18a", + "35353d": "c8c9e0", + "786655": "5482b0", + "ededeb": "ebd4c3", + "b3ac8b": "c77161", + "006b94": "4c13a1", + "3b3b42": "9e463f", + "2e5942": "484873", + "addec5": "426585", + "b59400": "b35a3e", + "004b6f": "4c13a1", + "7d6d5b": "b2bdd4", + "ada584": "78a9cc", + "ffff4a": "db966b", + "deddd3": "edc9ff", + "282830": "9b9bc2", + "23232b": "0c142e", + "1e1e26": "15213b", + "00b5ff": "a033ff", + "b6e3ca": "bb8ae3" + }, + "2": { + "2f2f38": "550f0f", + "6b8c7b": "be6e34", + "524a31": "550f0f", + "191921": "3d0d38", + "648776": "ea93a5", + "315a42": "7b2d25", + "e3e3dc": "ffadbe", + "e8e8dc": "e0e0cc", + "35353d": "913a7d", + "786655": "982222", + "b3ac8b": "cec7a7", + "006b94": "6b3773", + "3b3b42": "423f30", + "2e5942": "ca6c94", + "addec5": "e6b45b", + "b59400": "166a2d", + "004b6f": "411d46", + "7d6d5b": "982222", + "ada584": "c23232", + "ffff4a": "6ae649", + "deddd3": "ffc5d1", + "282830": "6c245b", + "23232b": "521610", + "1e1e26": "480b0b", + "00b5ff": "b464bf", + "b6e3ca": "ea93a5" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/646-white.json b/public/images/pokemon/variant/646-white.json new file mode 100644 index 00000000000..ff46920d000 --- /dev/null +++ b/public/images/pokemon/variant/646-white.json @@ -0,0 +1,52 @@ +{ + "1": { + "101010": "101010", + "741a18": "9c5528", + "4a4a29": "2a446b", + "4a4a2d": "181930", + "4c4a2c": "1b2547", + "315a42": "1b2547", + "7b7b5a": "779fbf", + "73737b": "222342", + "942921": "d49748", + "e64a42": "ffe587", + "6b8c7b": "2e466b", + "cc9827": "b35a3e", + "ffde38": "db966b", + "ffde3a": "ffde3a", + "ffad63": "fff7c4", + "ada584": "b7dbeb", + "bdbdc5": "292b40", + "addec5": "45678a", + "f7f3f3": "f7f3f3", + "fbf8f8": "414659", + "fdf9f9": "fcfcfc", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "741a18": "1f504d", + "4a4a29": "550f0f", + "4a4a2d": "1f1544", + "4c4a2c": "7b2d25", + "315a42": "7b2d25", + "7b7b5a": "982222", + "73737b": "2b2871", + "942921": "3d8073", + "e64a42": "4ba789", + "6b8c7b": "be6e34", + "cc9827": "166a2d", + "ffde38": "6ae649", + "ffde3a": "9df377", + "ffad63": "5cdca6", + "ada584": "c23232", + "bdbdc5": "3d458f", + "addec5": "e6b45b", + "f7f3f3": "f7f3f3", + "fbf8f8": "5870c4", + "fdf9f9": "4f9290", + "fcfcfc": "e2f9b5", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/646.json b/public/images/pokemon/variant/646.json new file mode 100644 index 00000000000..c8a0453a135 --- /dev/null +++ b/public/images/pokemon/variant/646.json @@ -0,0 +1,38 @@ +{ + "1": { + "8c7329": "b35a3e", + "949cad": "a6cfe0", + "3b3b4a": "39444c", + "103a52": "121836", + "ffe600": "db966b", + "73737b": "6394b0", + "373746": "121836", + "bde6ff": "3c5878", + "424252": "3d6285", + "696973": "606a73", + "ceb500": "a55c39", + "cecece": "bec9ce", + "def7ff": "577c96", + "6d737b": "a55c39", + "6b8494": "1a2647", + "ffffff": "edfcff", + "a5b5ce": "293c5e" + }, + "2": { + "8c7329": "166a2d", + "949cad": "c23232", + "3b3b4a": "4a3b3b", + "103a52": "7b2d25", + "ffe600": "6ae649", + "73737b": "982222", + "373746": "7b2d25", + "bde6ff": "e6b45b", + "424252": "550f0f", + "696973": "736969", + "ceb500": "2aac2b", + "def7ff": "f7ec88", + "6d737b": "2aac2b", + "6b8494": "974626", + "a5b5ce": "be6e34" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/692.json b/public/images/pokemon/variant/692.json new file mode 100644 index 00000000000..954dcffb3e9 --- /dev/null +++ b/public/images/pokemon/variant/692.json @@ -0,0 +1,26 @@ +{ + "1": { + "b3f2ff": "fada7f", + "44a2b4": "af6a37", + "2f7280": "783a1d", + "cd9d3a": "53be53", + "575757": "c85b5b", + "72561c": "20734c", + "60dbf2": "e1ac53", + "b4b4b4": "c8ba6d", + "3d3d3d": "7d182d", + "ffc549": "a9f076" + }, + "2": { + "b3f2ff": "faf8d7", + "44a2b4": "968144", + "2f7280": "5f3c23", + "cd9d3a": "7743be", + "575757": "88cd56", + "72561c": "371c72", + "60dbf2": "e1d6b6", + "b4b4b4": "68a7aa", + "3d3d3d": "1c873e", + "ffc549": "a36feb" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/693.json b/public/images/pokemon/variant/693.json new file mode 100644 index 00000000000..2e80795d2a0 --- /dev/null +++ b/public/images/pokemon/variant/693.json @@ -0,0 +1,30 @@ +{ + "1": { + "23a2c8": "c87a23", + "ffc859": "6ccd80", + "224b73": "552813", + "404040": "3c171b", + "262626": "230808", + "5f5f5f": "6e2e3b", + "cc9c3d": "1b3c17", + "61daf2": "f2bd61", + "735822": "08230e", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "4595e5": "aa6839" + }, + "2": { + "23a2c8": "beb099", + "ffc859": "f5b281", + "224b73": "5f463a", + "404040": "2a8c53", + "262626": "295a1c", + "5f5f5f": "51c85d", + "cc9c3d": "6259af", + "61daf2": "f0eadb", + "735822": "36235f", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "4595e5": "c8b493" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/746-school.json b/public/images/pokemon/variant/746-school.json new file mode 100644 index 00000000000..a76aca2921f --- /dev/null +++ b/public/images/pokemon/variant/746-school.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "113650": "0b3d3a", + "123954": "75351b", + "10437d": "16574d", + "134884": "934f26", + "1766c6": "b77736", + "3d66d8": "d39c63", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "43ebf3": "824388", + "72f0f6": "27133f", + "9cd3fd": "78f389", + "a6c5f7": "aafe94", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "160523", + "113650": "846228", + "123954": "28071a", + "10437d": "b7904d", + "134884": "350b19", + "1766c6": "4a1111", + "3d66d8": "622222", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "43ebf3": "4378eb", + "72f0f6": "31238e", + "9cd3fd": "fefed9", + "a6c5f7": "fefeef", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/746.json b/public/images/pokemon/variant/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/780.json b/public/images/pokemon/variant/780.json new file mode 100644 index 00000000000..0399d3567bf --- /dev/null +++ b/public/images/pokemon/variant/780.json @@ -0,0 +1,40 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "606f55": "496375", + "ffc4d7": "f29d9d", + "105262": "0e194a", + "b4cda4": "9ab5b8", + "f5ae07": "e8c987", + "ce5b9b": "cf4654", + "faf550": "faf0b1", + "e67b9c": "e65757", + "bd3983": "bd3341", + "eea6bc": "f06e6e", + "5aa4a4": "284c80", + "b8b7a3": "cf8d38", + "726d5c": "a36026", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "606f55": "8f825d", + "ffc4d7": "f2e396", + "105262": "3f3c61", + "b4cda4": "d6dbba", + "f5ae07": "24ab2b", + "ce5b9b": "d9ae5d", + "faf550": "3ec435", + "e67b9c": "e3b656", + "bd3983": "c27529", + "eea6bc": "f2d98d", + "5aa4a4": "6a708a", + "b8b7a3": "254e59", + "726d5c": "162d3d", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/782.json b/public/images/pokemon/variant/782.json new file mode 100644 index 00000000000..bd04ccc0c70 --- /dev/null +++ b/public/images/pokemon/variant/782.json @@ -0,0 +1,34 @@ +{ + "1": { + "f13035": "48bd8c", + "bec6cb": "e8cea0", + "fdfdfd": "fcf2ca", + "f8f236": "e77b57", + "504e4b": "2b130b", + "aba5ad": "336340", + "7b766f": "472d1d", + "7a756d": "a67e5b", + "726475": "214a33", + "4f4d4b": "8a5b41", + "940a0d": "258067", + "dbdbdb": "4e8759", + "957509": "a63424", + "fff7cc": "f7c4b5" + }, + "2": { + "f13035": "b8c0fc", + "bec6cb": "b7ddeb", + "fdfdfd": "d5f4f7", + "f8f236": "52d9ac", + "504e4b": "132040", + "aba5ad": "5e3e75", + "7b766f": "273959", + "7a756d": "8ab7cf", + "726475": "412959", + "4f4d4b": "567496", + "940a0d": "636a94", + "dbdbdb": "855d99", + "957509": "258085", + "fff7cc": "baf7dc" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/783.json b/public/images/pokemon/variant/783.json new file mode 100644 index 00000000000..0748d5ff79e --- /dev/null +++ b/public/images/pokemon/variant/783.json @@ -0,0 +1,32 @@ +{ + "1": { + "f13035": "48bd8c", + "6c6968": "472d1d", + "97938c": "2a573e", + "4d4644": "2b130b", + "940a0d": "258067", + "fdfdfd": "fcf2ca", + "6e6a69": "8a5b41", + "fff5ae": "f7c4b5", + "c2c1c0": "42754f", + "d7aa22": "c25236", + "957509": "a63424", + "69625c": "133027", + "f4da42": "e77b57" + }, + "2": { + "f13035": "d9ddfc", + "6c6968": "2e4266", + "97938c": "543666", + "4d4644": "151e38", + "940a0d": "636a94", + "fdfdfd": "d5f4f7", + "6e6a69": "567496", + "fff5ae": "baf7dc", + "c2c1c0": "744e87", + "d7aa22": "37ad94", + "957509": "258085", + "69625c": "2d1c3d", + "f4da42": "52d9ac" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/784.json b/public/images/pokemon/variant/784.json new file mode 100644 index 00000000000..0bd28476e98 --- /dev/null +++ b/public/images/pokemon/variant/784.json @@ -0,0 +1,50 @@ +{ + "1": { + "c99f21": "c25236", + "4b4657": "8a5b41", + "544747": "517d37", + "d0d2d5": "77a353", + "fafafa": "f7c4b5", + "d4d6d9": "e8cea0", + "9d6702": "9c3c27", + "f4da42": "e77b57", + "f13035": "48bd8c", + "2d2b28": "2b130b", + "c59c21": "b5482f", + "cb0e12": "258067", + "47444e": "472d1d", + "f7f7f7": "fcf2ca", + "a7a29e": "336142", + "807673": "a67e5b", + "504444": "123028", + "885902": "a63424", + "7e7572": "204736", + "d7d9db": "548752", + "4d4946": "447835", + "fdfdfd": "bbd477" + }, + "2": { + "c99f21": "37ad94", + "4b4657": "567496", + "544747": "558ea3", + "d0d2d5": "7ec2cc", + "fafafa": "daf2e7", + "d4d6d9": "b7ddeb", + "9d6702": "227880", + "f4da42": "52d9ac", + "f13035": "d9ddfc", + "2d2b28": "151e38", + "c59c21": "34a897", + "cb0e12": "636a94", + "47444e": "2e4266", + "f7f7f7": "d5f4f7", + "a7a29e": "6c457a", + "807673": "8ab7cf", + "504444": "2d1840", + "885902": "2b8c8b", + "7e7572": "4e2e61", + "d7d9db": "ac7fb3", + "4d4946": "558fa6", + "fdfdfd": "adedf0" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/840.json b/public/images/pokemon/variant/840.json new file mode 100644 index 00000000000..255e2e7689a --- /dev/null +++ b/public/images/pokemon/variant/840.json @@ -0,0 +1,34 @@ +{ + "1": { + "e2244a": "70a2c5", + "8d4229": "570749", + "94d84a": "e5e8ee", + "5fab1d": "7a7c9e", + "d39a52": "9c2e72", + "e32b50": "4e77a2", + "357912": "313846", + "fe455c": "abd7e2", + "5bab1d": "acb0c3", + "247912": "48485d", + "a50534": "3e6085", + "a4d84a": "9aa0b3", + "f2c171": "c55885", + "fa6f8b": "c1f3f3" + }, + "2": { + "e2244a": "bfb5ab", + "8d4229": "230808", + "94d84a": "589df3", + "5fab1d": "a8546e", + "d39a52": "291411", + "e32b50": "807770", + "357912": "823455", + "fe455c": "dcd9d1", + "5bab1d": "354dbf", + "247912": "2e2246", + "a50534": "68645f", + "a4d84a": "e28c95", + "f2c171": "463731", + "fa6f8b": "eeedea" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/841-gigantamax.json b/public/images/pokemon/variant/841-gigantamax.json new file mode 100644 index 00000000000..5d3b8c49133 --- /dev/null +++ b/public/images/pokemon/variant/841-gigantamax.json @@ -0,0 +1,52 @@ +{ + "1": { + "101010": "101010", + "772628": "3e6085", + "2c4828": "291634", + "427638": "7a7c9e", + "872d23": "460c4d", + "8b3329": "2c255d", + "913c3c": "5b4585", + "a63139": "70a2c5", + "8d4229": "272a52", + "bf6c31": "b668a0", + "d2394d": "abd7e2", + "d54456": "751680", + "c57741": "9c2e72", + "e84466": "8666ae", + "39a43d": "9aa0b3", + "b3ac62": "95aec9", + "c68a48": "2b526f", + "e2bb56": "c55885", + "e9c558": "397880", + "ffc66a": "eeb4cb", + "dad08b": "dcebf9", + "fff1ab": "63b9b9", + "f9f9f9": "f9f9f9" + }, + "2": { + "101010": "101010", + "772628": "695d57", + "2c4828": "341c1c", + "427638": "a54e69", + "872d23": "2e2246", + "8b3329": "3a2222", + "913c3c": "682d2d", + "a63139": "baada1", + "8d4229": "9c564c", + "bf6c31": "354dbf", + "d2394d": "dcd9d1", + "d54456": "2e38bf", + "c57741": "291411", + "e84466": "915a41", + "39a43d": "e28c95", + "b3ac62": "c1a39c", + "c68a48": "d1a87e", + "e2bb56": "463731", + "e9c558": "eee0bc", + "ffc66a": "589df3", + "dad08b": "e2dcd6", + "fff1ab": "fdf3c0", + "f9f9f9": "f9f9f9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/841.json b/public/images/pokemon/variant/841.json new file mode 100644 index 00000000000..3f1c756da5e --- /dev/null +++ b/public/images/pokemon/variant/841.json @@ -0,0 +1,38 @@ +{ + "1": { + "df6655": "c55885", + "b5915b": "34123a", + "9b2629": "70a2c5", + "8d764b": "110723", + "56ab32": "a59ab3", + "f0bda6": "c1f3f3", + "c3a965": "b3b1d6", + "f1c950": "f3c5dd", + "ccca71": "e6dcf9", + "ccb468": "5d2654", + "612324": "3e6085", + "d72d31": "abd7e2", + "874c23": "613863", + "ebe381": "854774", + "488235": "8e7a9e", + "395a2e": "383146" + }, + "2": { + "df6655": "463731", + "b5915b": "541711", + "9b2629": "bfb5ab", + "8d764b": "230313", + "56ab32": "e28c95", + "f0bda6": "eeedea", + "c3a965": "cbb4af", + "f1c950": "589df3", + "ccca71": "e2dcd6", + "ccb468": "8b4332", + "612324": "68645f", + "d72d31": "dcd9d1", + "874c23": "2e2246", + "ebe381": "c68862", + "488235": "a8546e", + "395a2e": "4f0e30" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/842-gigantamax.json b/public/images/pokemon/variant/842-gigantamax.json new file mode 100644 index 00000000000..5d3b8c49133 --- /dev/null +++ b/public/images/pokemon/variant/842-gigantamax.json @@ -0,0 +1,52 @@ +{ + "1": { + "101010": "101010", + "772628": "3e6085", + "2c4828": "291634", + "427638": "7a7c9e", + "872d23": "460c4d", + "8b3329": "2c255d", + "913c3c": "5b4585", + "a63139": "70a2c5", + "8d4229": "272a52", + "bf6c31": "b668a0", + "d2394d": "abd7e2", + "d54456": "751680", + "c57741": "9c2e72", + "e84466": "8666ae", + "39a43d": "9aa0b3", + "b3ac62": "95aec9", + "c68a48": "2b526f", + "e2bb56": "c55885", + "e9c558": "397880", + "ffc66a": "eeb4cb", + "dad08b": "dcebf9", + "fff1ab": "63b9b9", + "f9f9f9": "f9f9f9" + }, + "2": { + "101010": "101010", + "772628": "695d57", + "2c4828": "341c1c", + "427638": "a54e69", + "872d23": "2e2246", + "8b3329": "3a2222", + "913c3c": "682d2d", + "a63139": "baada1", + "8d4229": "9c564c", + "bf6c31": "354dbf", + "d2394d": "dcd9d1", + "d54456": "2e38bf", + "c57741": "291411", + "e84466": "915a41", + "39a43d": "e28c95", + "b3ac62": "c1a39c", + "c68a48": "d1a87e", + "e2bb56": "463731", + "e9c558": "eee0bc", + "ffc66a": "589df3", + "dad08b": "e2dcd6", + "fff1ab": "fdf3c0", + "f9f9f9": "f9f9f9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/842.json b/public/images/pokemon/variant/842.json new file mode 100644 index 00000000000..9563715745e --- /dev/null +++ b/public/images/pokemon/variant/842.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f4329": "313846", + "1f5829": "852560", + "2c743e": "7a7c9e", + "9f7034": "9aa0b3", + "ac6b20": "110723", + "af2348": "67829e", + "e75574": "70a2c5", + "39a45f": "92cbd9", + "7de755": "9aa0b3", + "e78422": "1f1946", + "ffa63b": "2d3d68", + "f1cf6d": "a3b9d0", + "f9d56d": "698db4", + "ffc575": "2b526f", + "f18e8e": "c1f3f3", + "fcff86": "397880" + }, + "2": { + "101010": "101010", + "1f4329": "511c2d", + "1f5829": "2e2246", + "2c743e": "a8546e", + "9f7034": "3a130d", + "ac6b20": "68645f", + "af2348": "bfb5ab", + "e75574": "dcd9d1", + "39a45f": "e28c95", + "7de755": "589df3", + "e78422": "4b211b", + "ffa63b": "63473b", + "f1cf6d": "cbb4af", + "f9d56d": "b9937a", + "ffc575": "d1a87e", + "f18e8e": "eeedea", + "fcff86": "eee0bc" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/871.json b/public/images/pokemon/variant/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/88.json b/public/images/pokemon/variant/88.json new file mode 100644 index 00000000000..61b7ca3b802 --- /dev/null +++ b/public/images/pokemon/variant/88.json @@ -0,0 +1,28 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/89.json b/public/images/pokemon/variant/89.json new file mode 100644 index 00000000000..eda3558d7c2 --- /dev/null +++ b/public/images/pokemon/variant/89.json @@ -0,0 +1,30 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70", + "ad63ad": "c63a17" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf", + "ad63ad": "e5728a" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/_exp_masterlist.json b/public/images/pokemon/variant/_exp_masterlist.json index 0ef5f209439..e588be59073 100644 --- a/public/images/pokemon/variant/_exp_masterlist.json +++ b/public/images/pokemon/variant/_exp_masterlist.json @@ -94,6 +94,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "699": [0, 1, 1], @@ -120,6 +122,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 2, 2], "748": [0, 1, 1], "751": [0, 1, 1], @@ -159,6 +163,7 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791": [2, 1, 1], @@ -186,6 +191,9 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 2, 2], + "840": [0, 1, 1], + "841": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851": [0, 1, 1], "854": [0, 1, 1], @@ -200,6 +208,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -297,6 +306,8 @@ "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 0], "2103": [0, 1, 1], @@ -422,6 +433,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "699": [0, 2, 2], @@ -448,6 +461,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 2, 2], "748": [0, 1, 1], "751": [0, 1, 1], @@ -486,6 +501,7 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791": [1, 1, 1], @@ -513,6 +529,9 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 1, 1], + "840": [0, 1, 1], + "841": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851": [0, 1, 1], "854": [0, 1, 1], @@ -527,6 +546,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -623,6 +643,8 @@ "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 1], "2103": [0, 1, 1], diff --git a/public/images/pokemon/variant/_masterlist.json b/public/images/pokemon/variant/_masterlist.json index ac683d9544e..719f3db3d86 100644 --- a/public/images/pokemon/variant/_masterlist.json +++ b/public/images/pokemon/variant/_masterlist.json @@ -32,6 +32,9 @@ "29": [0, 1, 1], "30": [0, 1, 1], "31": [1, 1, 1], + "32": [0, 1, 1], + "33": [0, 1, 1], + "34": [0, 1, 1], "35": [0, 1, 2], "36": [0, 1, 1], "37": [0, 1, 1], @@ -67,6 +70,8 @@ "85": [1, 1, 1], "86": [1, 1, 1], "87": [1, 1, 1], + "88": [0, 1, 1], + "89": [0, 1, 1], "92": [2, 2, 2], "93": [1, 1, 1], "94-gigantamax": [1, 2, 2], @@ -113,6 +118,8 @@ "141": [0, 2, 2], "142-mega": [0, 1, 1], "142": [0, 1, 1], + "143-gigantamax": [0, 1, 1], + "143": [0, 1, 1], "144": [1, 2, 2], "145": [1, 1, 1], "146": [1, 1, 1], @@ -154,6 +161,9 @@ "183": [0, 1, 2], "184": [0, 2, 2], "185": [0, 1, 1], + "187": [0, 1, 1], + "188": [0, 1, 1], + "189": [0, 1, 1], "190": [0, 1, 1], "193": [0, 1, 1], "194": [0, 1, 1], @@ -192,6 +202,8 @@ "201-w": [0, 1, 1], "201-o": [0, 1, 1], "203": [0, 1, 1], + "204": [0, 1, 1], + "205": [0, 1, 1], "206": [0, 1, 1], "207": [0, 1, 1], "211": [0, 1, 1], @@ -247,6 +259,7 @@ "291": [2, 2, 2], "292": [2, 1, 2], "298": [0, 2, 2], + "299": [0, 1, 1], "300": [1, 1, 1], "301": [1, 1, 1], "302": [0, 1, 1], @@ -265,13 +278,19 @@ "310": [0, 1, 1], "311": [1, 1, 1], "312": [0, 1, 1], + "313": [0, 1, 1], + "314": [0, 1, 1], "315": [0, 1, 1], "320": [0, 1, 1], "321": [0, 1, 1], + "325": [0, 1, 1], + "326": [0, 1, 1], "327": [0, 1, 1], "328": [0, 1, 1], "329": [0, 1, 2], "330": [0, 1, 1], + "331": [0, 1, 1], + "332": [0, 1, 1], "333": [0, 1, 1], "334-mega": [0, 2, 1], "334": [0, 2, 2], @@ -283,6 +302,8 @@ "340": [0, 1, 2], "341": [0, 2, 2], "342": [0, 2, 2], + "345": [0, 1, 1], + "346": [0, 1, 1], "351-rainy": [1, 2, 2], "351-snowy": [1, 1, 1], "351-sunny": [1, 2, 2], @@ -331,10 +352,16 @@ "393": [0, 1, 1], "394": [0, 1, 1], "395": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 1, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 1, 1], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "406": [0, 1, 1], "407": [0, 1, 1], "412-sandy": [2, 2, 2], @@ -344,8 +371,12 @@ "413-trash": [1, 1, 1], "413-sandy": [1, 1, 1], "414": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 1, 1], "419": [0, 1, 1], + "420": [0, 1, 1], + "421-overcast": [0, 1, 1], + "421-sunshine": [0, 1, 1], "422-west": [1, 1, 1], "422-east": [1, 1, 1], "423-west": [1, 1, 1], @@ -369,6 +400,7 @@ "444": [1, 1, 1], "445-mega": [1, 1, 1], "445": [1, 1, 1], + "446": [0, 1, 1], "447": [1, 1, 1], "448-mega": [1, 1, 1], "448": [1, 1, 1], @@ -392,6 +424,7 @@ "474": [0, 1, 1], "475-mega": [0, 2, 2], "475": [0, 1, 1], + "476": [0, 1, 1], "478": [0, 2, 1], "479-heat": [0, 1, 1], "479-wash": [0, 1, 1], @@ -416,11 +449,22 @@ "495": [0, 1, 1], "496": [0, 1, 1], "497": [0, 1, 1], + "498": [0, 1, 1], + "499": [0, 1, 1], + "500": [0, 1, 1], "501": [0, 1, 1], "502": [0, 1, 1], "503": [0, 1, 1], + "511": [0, 1, 1], + "512": [0, 1, 1], + "513": [0, 1, 1], + "514": [0, 1, 1], + "515": [0, 1, 1], + "516": [0, 1, 1], "517": [0, 1, 1], "518": [0, 1, 1], + "522": [0, 1, 1], + "523": [0, 1, 1], "524": [0, 1, 1], "525": [0, 1, 1], "526": [0, 2, 2], @@ -433,6 +477,9 @@ "532": [0, 1, 1], "533": [0, 1, 1], "534": [0, 1, 1], + "535": [0, 1, 1], + "536": [0, 1, 1], + "537": [0, 1, 1], "538": [0, 1, 1], "539": [0, 2, 2], "540": [0, 1, 1], @@ -448,17 +495,23 @@ "551": [0, 1, 1], "552": [0, 1, 1], "553": [0, 1, 1], + "554": [0, 1, 1], + "555": [0, 1, 1], + "555-zen": [0, 1, 1], "556": [0, 1, 1], "559": [1, 1, 1], "560": [1, 1, 1], "562": [0, 1, 1], "563": [0, 1, 1], + "566": [0, 1, 1], + "567": [0, 1, 1], "568": [0, 2, 2], "569-gigantamax": [0, 1, 1], "569": [0, 1, 1], "570": [0, 1, 1], "571": [0, 1, 1], "572": [0, 1, 1], + "573": [0, 1, 1], "577": [1, 1, 1], "578": [1, 1, 1], "579": [1, 1, 1], @@ -499,6 +552,7 @@ "621": [0, 1, 1], "622": [0, 1, 1], "623": [0, 1, 1], + "626": [0, 1, 1], "631": [0, 2, 2], "632": [0, 1, 1], "633": [0, 1, 1], @@ -507,6 +561,11 @@ "636": [0, 1, 1], "637": [0, 1, 1], "640": [0, 1, 1], + "643": [0, 1, 1], + "644": [0, 1, 1], + "646-black": [0, 1, 1], + "646-white": [0, 1, 1], + "646": [0, 1, 1], "647-resolute": [0, 1, 1], "647-ordinary": [0, 1, 1], "648-aria": [0, 1, 1], @@ -583,6 +642,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "698": [0, 1, 1], @@ -613,6 +674,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 1, 1], "748": [0, 1, 1], "751": [0, 1, 1], @@ -651,6 +714,10 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], + "782": [0, 1, 1], + "783": [0, 1, 1], + "784": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791-radiant-sun": [0, 1, 1], @@ -683,6 +750,11 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 2, 2], + "840": [0, 1, 1], + "841-gigantamax": [0, 1, 1], + "841": [0, 1, 1], + "842-gigantamax": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851-gigantamax": [0, 1, 1], "851": [0, 1, 1], @@ -700,6 +772,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -798,14 +871,18 @@ "1007-apex-build": [0, 2, 2], "1008-ultimate-mode": [1, 1, 1], "1010": [0, 1, 1], + "1011": [0, 1, 1], "1012-counterfeit": [0, 1, 1], "1013-unremarkable": [0, 1, 1], "1018": [0, 1, 1], + "1019": [0, 1, 1], "1022": [0, 1, 1], "1023": [0, 1, 1], "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 1], "2103": [0, 1, 1], @@ -880,12 +957,20 @@ "307": [0, 1, 1], "308": [0, 1, 1], "315": [0, 1, 1], + "332": [0, 1, 1], "369": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 1, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 2, 2], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "407": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 1, 1], "419": [0, 2, 1], "424": [0, 1, 1], @@ -937,6 +1022,9 @@ "29": [0, 1, 1], "30": [0, 1, 1], "31": [1, 1, 1], + "32": [0, 1, 1], + "33": [0, 1, 1], + "34": [0, 1, 1], "35": [0, 1, 1], "36": [0, 2, 1], "37": [0, 1, 1], @@ -972,6 +1060,8 @@ "85": [1, 1, 1], "86": [1, 1, 1], "87": [1, 1, 1], + "88": [0, 1, 1], + "89": [0, 1, 1], "92": [2, 2, 2], "93": [1, 1, 1], "94-gigantamax": [1, 1, 1], @@ -1018,6 +1108,8 @@ "141": [0, 1, 1], "142-mega": [0, 1, 1], "142": [0, 1, 1], + "143-gigantamax": [0, 1, 1], + "143": [0, 1, 1], "144": [1, 1, 1], "145": [1, 1, 1], "146": [1, 1, 1], @@ -1059,6 +1151,9 @@ "183": [0, 1, 1], "184": [0, 1, 1], "185": [0, 1, 1], + "187": [0, 1, 1], + "188": [0, 1, 1], + "189": [0, 1, 1], "190": [0, 1, 1], "193": [0, 1, 1], "194": [0, 1, 1], @@ -1097,6 +1192,8 @@ "201-w": [0, 1, 1], "201-o": [0, 1, 1], "203": [0, 1, 1], + "204": [0, 1, 1], + "205": [0, 1, 1], "206": [0, 1, 1], "207": [0, 1, 1], "211": [0, 1, 1], @@ -1152,6 +1249,7 @@ "291": [2, 2, 2], "292": [2, 2, 2], "298": [0, 1, 1], + "299": [0, 1, 1], "300": [1, 1, 1], "301": [1, 1, 1], "302": [0, 1, 1], @@ -1170,13 +1268,19 @@ "310": [0, 1, 1], "311": [1, 1, 1], "312": [0, 1, 1], + "313": [0, 1, 1], + "314": [0, 1, 1], "315": [0, 1, 1], "320": [0, 1, 1], "321": [0, 1, 1], + "325": [0, 1, 1], + "326": [0, 1, 1], "327": [0, 1, 1], "328": [0, 1, 1], "329": [0, 1, 1], "330": [0, 1, 1], + "331": [0, 1, 1], + "332": [0, 1, 1], "333": [0, 1, 1], "334-mega": [0, 1, 1], "334": [0, 1, 1], @@ -1188,6 +1292,8 @@ "340": [0, 1, 2], "341": [0, 1, 1], "342": [0, 2, 2], + "345": [0, 1, 1], + "346": [0, 1, 1], "351-rainy": [1, 1, 1], "351-snowy": [1, 1, 1], "351-sunny": [1, 1, 2], @@ -1236,10 +1342,16 @@ "393": [0, 1, 1], "394": [0, 1, 1], "395": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 2, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 1, 1], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "406": [0, 1, 1], "407": [0, 1, 1], "412-sandy": [2, 2, 2], @@ -1249,8 +1361,12 @@ "413-trash": [1, 1, 1], "413-sandy": [1, 1, 1], "414": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 1, 1], "419": [0, 1, 1], + "420": [0, 1, 1], + "421-overcast": [0, 1, 1], + "421-sunshine": [0, 1, 1], "422-west": [1, 1, 1], "422-east": [1, 1, 1], "423-west": [1, 1, 1], @@ -1274,6 +1390,7 @@ "444": [1, 1, 1], "445-mega": [1, 1, 1], "445": [1, 1, 1], + "446": [0, 1, 1], "447": [1, 1, 1], "448-mega": [1, 1, 1], "448": [1, 1, 1], @@ -1297,6 +1414,7 @@ "474": [0, 1, 1], "475-mega": [0, 2, 2], "475": [0, 1, 1], + "476": [0, 1, 1], "478": [0, 2, 1], "479-heat": [0, 1, 1], "479-wash": [0, 1, 1], @@ -1307,8 +1425,9 @@ "480": [1, 1, 1], "481": [1, 1, 1], "482": [1, 1, 1], - "485": [0, 1, 1], "486": [0, 1 , 1 - ] ,"487-altered": [0, 1, 1], + "485": [0, 1, 1], + "486": [0, 1 , 1] , + "487-altered": [0, 1, 1], "487-origin": [0, 1, 1], "488": [0, 1, 1], "489": [1, 1, 1], @@ -1320,11 +1439,22 @@ "495": [0, 1, 1], "496": [0, 1, 1], "497": [0, 1, 1], + "498": [0, 1, 1], + "499": [0, 1, 1], + "500": [0, 1, 1], "501": [0, 1, 1], "502": [0, 1, 1], "503": [0, 1, 1], + "511": [0, 1, 1], + "512": [0, 1, 1], + "513": [0, 1, 1], + "514": [0, 1, 1], + "515": [0, 1, 1], + "516": [0, 1, 1], "517": [0, 1, 1], "518": [0, 1, 1], + "522": [0, 1, 1], + "523": [0, 1, 1], "524": [0, 1, 1], "525": [0, 1, 1], "526": [0, 1, 1], @@ -1337,6 +1467,9 @@ "532": [0, 1, 1], "533": [0, 1, 1], "534": [0, 1, 1], + "535": [0, 1, 1], + "536": [0, 1, 1], + "537": [0, 1, 1], "538": [0, 1, 1], "539": [0, 2, 2], "540": [0, 1, 1], @@ -1352,17 +1485,23 @@ "551": [0, 1, 1], "552": [0, 1, 1], "553": [0, 1, 1], + "554": [0, 1, 1], + "555": [0, 1, 1], + "555-zen": [0, 1, 1], "556": [0, 1, 1], "559": [1, 1, 1], "560": [1, 1, 1], "562": [0, 1, 1], "563": [0, 1, 1], + "566": [0, 1, 1], + "567": [0, 1, 1], "568": [0, 1, 1], "569-gigantamax": [0, 1, 1], "569": [0, 1, 1], "570": [0, 1, 1], "571": [0, 1, 1], "572": [0, 1, 1], + "573": [0, 1, 1], "577": [1, 1, 1], "578": [1, 1, 1], "579": [1, 1, 1], @@ -1403,6 +1542,7 @@ "621": [0, 1, 1], "622": [0, 1, 1], "623": [0, 1, 1], + "626": [0, 1, 1], "631": [0, 2, 2], "632": [0, 1, 1], "633": [0, 1, 1], @@ -1411,12 +1551,11 @@ "636": [0, 1, 1], "637": [0, 1, 1], "640": [0, 1, 1], - "641-incarnate": [0, 0, 0], - "641-therian": [0, 0, 0], - "642-incarnate": [0, 0, 0], - "642-therian": [0, 0, 0], - "645-incarnate": [0, 0, 0], - "645-therian": [0, 0, 0], + "643": [0, 1, 1], + "644": [0, 1, 1], + "646-black": [0, 1, 1], + "646-white": [0, 1, 1], + "646": [0, 1, 1], "647-resolute": [0, 1, 1], "647-ordinary": [0, 1, 1], "648-aria": [0, 1, 1], @@ -1493,6 +1632,8 @@ "689": [0, 1, 1], "690": [0, 1, 1], "691": [0, 1, 1], + "692": [0, 1, 1], + "693": [0, 1, 1], "696": [0, 1, 1], "697": [0, 1, 1], "698": [0, 1, 1], @@ -1523,6 +1664,8 @@ "735": [0, 1, 1], "742": [0, 2, 2], "743": [0, 2, 2], + "746": [0, 1, 1], + "746-school": [0, 1, 1], "747": [0, 1, 1], "748": [0, 1, 1], "751": [0, 1, 1], @@ -1561,6 +1704,10 @@ "778-busted": [0, 1, 1], "778-disguised": [0, 1, 1], "779": [0, 1, 1], + "780": [0, 1, 1], + "782": [0, 1, 1], + "783": [0, 1, 1], + "784": [0, 1, 1], "789": [1, 1, 1], "790": [0, 1, 1], "791-radiant-sun": [0, 1, 1], @@ -1593,6 +1740,11 @@ "830": [0, 1, 1], "835": [0, 1, 1], "836": [0, 1, 1], + "840": [0, 1, 1], + "841-gigantamax": [0, 1, 1], + "841": [0, 1, 1], + "842-gigantamax": [0, 1, 1], + "842": [0, 1, 1], "850": [0, 1, 1], "851-gigantamax": [0, 1, 1], "851": [0, 1, 1], @@ -1610,6 +1762,7 @@ "863": [0, 1, 1], "864": [0, 1, 1], "867": [0, 1, 1], + "871": [0, 1, 1], "872": [1, 1, 1], "873": [1, 1, 1], "876-female": [0, 1, 1], @@ -1708,14 +1861,18 @@ "1007-apex-build": [0, 2, 2], "1008-ultimate-mode": [1, 1, 1], "1010": [0, 1, 1], + "1011": [0, 1, 1], "1012-counterfeit": [0, 1, 1], "1013-unremarkable": [0, 1, 1], "1018": [0, 1, 1], + "1019": [0, 1, 1], "1022": [0, 2, 2], "1023": [0, 1, 1], "2026": [0, 1, 1], "2027": [0, 1, 1], "2028": [0, 1, 1], + "2037": [0, 1, 1], + "2038": [0, 1, 1], "2052": [0, 1, 1], "2053": [0, 1, 1], "2103": [0, 1, 1], @@ -1790,12 +1947,20 @@ "307": [0, 1, 1], "308": [0, 1, 1], "315": [0, 1, 1], + "332": [0, 1, 1], "369": [0, 1, 1], + "396": [0, 1, 1], + "397": [0, 1, 1], + "398": [0, 1, 1], "399": [0, 2, 1], "400": [0, 1, 1], "401": [0, 1, 1], "402": [0, 1, 1], + "403": [0, 1, 1], + "404": [0, 1, 1], + "405": [0, 1, 1], "407": [0, 1, 1], + "417": [0, 1, 1], "418": [0, 2, 2], "419": [0, 1, 1], "424": [0, 1, 1], diff --git a/public/images/pokemon/variant/back/1011.json b/public/images/pokemon/variant/back/1011.json new file mode 100644 index 00000000000..d8cffc4d587 --- /dev/null +++ b/public/images/pokemon/variant/back/1011.json @@ -0,0 +1,29 @@ +{ + "1": { + "b09579": "7b91a7", + "253922": "232b3a", + "fd9477": "63b9b9", + "345539": "313d4b", + "9c1e2a": "272a52", + "7eb36a": "9aa0b3", + "9fc164": "9aa0b3", + "8e9960": "67698b", + "c73030": "2b526f", + "e64d3c": "397880", + "477d45": "67698b", + "61071f": "190e2e" + }, + "2": { + "253922": "2e0920", + "fd9477": "f3efde", + "345539": "4f162a", + "9c1e2a": "9c564c", + "7eb36a": "e8838d", + "9fc164": "e28c95", + "8e9960": "9e4553", + "c73030": "d1a87e", + "e64d3c": "eee0bc", + "477d45": "903c4e", + "61071f": "4f0a1d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/1019.json b/public/images/pokemon/variant/back/1019.json new file mode 100644 index 00000000000..b8e674f2357 --- /dev/null +++ b/public/images/pokemon/variant/back/1019.json @@ -0,0 +1,44 @@ +{ + "1": { + "8b1313": "302752", + "746739": "582c74", + "6ba835": "7a7c9e", + "b49779": "9c2e72", + "9ce05f": "9aa0b3", + "bf2b2e": "abd7e2", + "d43e2d": "4e969e", + "841111": "302752", + "ae2124": "663267", + "ff7a59": "69c5c5", + "680606": "27103c", + "b72629": "2b526f", + "b59a7d": "a3b9d0", + "3e662b": "313846", + "e8cfb4": "c55885", + "82664a": "48476c", + "a60b0b": "70a2c5", + "e9cfb3": "dcebf9", + "3c9b3e": "e8edff" + }, + "2": { + "8b1313": "413534", + "746739": "312374", + "6ba835": "a8546e", + "b49779": "402622", + "9ce05f": "e28c95", + "bf2b2e": "e8e5de", + "d43e2d": "eedfb8", + "841111": "4b211b", + "ae2124": "63473b", + "ff7a59": "f3efde", + "680606": "4b211b", + "b72629": "bf9870", + "b59a7d": "cbb4af", + "3e662b": "341c1c", + "e8cfb4": "5d4c45", + "82664a": "613838", + "a60b0b": "c7c2bc", + "e9cfb3": "e2dcd6", + "3c9b3e": "5e75e2" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/143-gigantamax.json b/public/images/pokemon/variant/back/143-gigantamax.json new file mode 100644 index 00000000000..ffe8e7a31cd --- /dev/null +++ b/public/images/pokemon/variant/back/143-gigantamax.json @@ -0,0 +1,62 @@ +{ + "1": { + "101010": "101010", + "624120": "544a41", + "5e3e1d": "351b52", + "31573f": "7b59ba", + "54792b": "c06386", + "103941": "701a55", + "315a7b": "943469", + "bd3740": "c94489", + "a3704e": "522663", + "a47352": "6b6357", + "ad7f5f": "b56564", + "de5656": "d65a8a", + "069f5f": "b083de", + "89b432": "f1a1b2", + "bbe35b": "f1a1b2", + "98a0a0": "98a0a0", + "a0a0a0": "a0a0a0", + "fc8b9f": "ed7794", + "e6c5ac": "cf8880", + "f6e6bd": "f0beb1", + "c9c9c9": "c9c9c9", + "f4f4f4": "f4f4f4", + "4d6e27": "5c9bb8", + "91ba3d": "6bc7c7", + "93bf39": "74c2cf", + "bee366": "8de3d7", + "d95b7f": "c24a6c", + "fc92a6": "fc92a6" + }, + "2": { + "101010": "101010", + "624120": "ba6632", + "5e3e1d": "c2986e", + "31573f": "4b4c52", + "54792b": "208073", + "103941": "93b5c2", + "315a7b": "b6d6d9", + "bd3740": "9e4619", + "a3704e": "e6cda1", + "a47352": "cf9d48", + "ad7f5f": "284878", + "de5656": "bd742b", + "069f5f": "7c7c82", + "89b432": "37ad82", + "bbe35b": "79e0a2", + "98a0a0": "53738a", + "a0a0a0": "abd1cc", + "fc8b9f": "d9a443", + "e6c5ac": "27538a", + "f6e6bd": "36719c", + "c9c9c9": "b4d3d9", + "f4f4f4": "f4f4f4", + "4d6e27": "964117", + "91ba3d": "d9a65b", + "93bf39": "d9a250", + "bee366": "e6cf5e", + "d95b7f": "b77727", + "fc92a6": "d9b64c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/143.json b/public/images/pokemon/variant/back/143.json new file mode 100644 index 00000000000..7dc08d72559 --- /dev/null +++ b/public/images/pokemon/variant/back/143.json @@ -0,0 +1,32 @@ +{ + "1": { + "000000": "101010", + "103a42": "701a55", + "315a7b": "943469", + "528cad": "ad4b70", + "735a21": "91504e", + "737373": "756363", + "a57352": "b36462", + "c59c5a": "b36462", + "cecece": "cbc4c4", + "e6c5ad": "cf8880", + "f7d6bd": "e09f96", + "f7e6bd": "f0beb1", + "ffffff": "ffffff" + }, + "2": { + "000000": "101010", + "103a42": "93b5c2", + "315a7b": "b6d6d9", + "528cad": "d5e8e7", + "735a21": "1b2e61", + "737373": "525266", + "a57352": "1b2e61", + "c59c5a": "20386e", + "cecece": "bfc7cb", + "e6c5ad": "284878", + "f7d6bd": "38638f", + "f7e6bd": "457ca8", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/187.json b/public/images/pokemon/variant/back/187.json new file mode 100644 index 00000000000..7e0d1dca511 --- /dev/null +++ b/public/images/pokemon/variant/back/187.json @@ -0,0 +1,28 @@ +{ + "1": { + "101010": "101010", + "425a10": "934200", + "52843a": "c27600", + "63bd5a": "efac00", + "8c083a": "012a3e", + "9cde5a": "ffdc46", + "b56373": "003e53", + "ff7b94": "006d7f", + "f79cb5": "00a59b", + "ffc500": "e3396c", + "ffff00": "ffa8b6" + }, + "2": { + "101010": "101010", + "425a10": "5f0052", + "52843a": "960070", + "63bd5a": "960070", + "8c083a": "802600", + "9cde5a": "e01c75", + "b56373": "d8591c", + "ff7b94": "fa9600", + "f79cb5": "ffc93b", + "ffc500": "5ec0ec", + "ffff00": "94ecf9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/188.json b/public/images/pokemon/variant/back/188.json new file mode 100644 index 00000000000..a674bbf244e --- /dev/null +++ b/public/images/pokemon/variant/back/188.json @@ -0,0 +1,30 @@ +{ + "1": { + "000000": "101010", + "196b00": "c66b31", + "42b521": "e99f23", + "63d631": "ffd953", + "8c5200": "004269", + "8cf74a": "fef579", + "b5d6de": "fa9600", + "ce8400": "075976", + "f7a519": "005883", + "ffd600": "046c90", + "ffef00": "007b9a", + "ffffff": "ffc93b" + }, + "2": { + "000000": "101010", + "196b00": "2659ad", + "42b521": "5293d5", + "63d631": "79d5fa", + "8c5200": "5f0052", + "8cf74a": "a6eafa", + "b5d6de": "fa9600", + "ce8400": "9d0562", + "f7a519": "960070", + "ffd600": "ba0071", + "ffef00": "e01c75", + "ffffff": "ffc93b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/189.json b/public/images/pokemon/variant/back/189.json new file mode 100644 index 00000000000..ed1e40ed4b3 --- /dev/null +++ b/public/images/pokemon/variant/back/189.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "194a73": "b64d21", + "29844a": "83839f", + "3a73c5": "e19903", + "739cff": "fcd936", + "84ce7b": "c1bdd1", + "8cb5ff": "f9f870", + "b58c31": "071a3c", + "d6bd5a": "282773", + "ded67b": "2192b2", + "efe69c": "104f80", + "fff7b5": "1379a0", + "ffffde": "2faac4" + }, + "2": { + "101010": "101010", + "194a73": "680054", + "29844a": "3887d3", + "3a73c5": "980062", + "739cff": "d20d6a", + "84ce7b": "58c1eb", + "8cb5ff": "e4486a", + "b58c31": "da5014", + "d6bd5a": "f06f22", + "ded67b": "fce37b", + "efe69c": "ffa747", + "fff7b5": "ffd45a", + "ffffde": "f9f29b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/2037.json b/public/images/pokemon/variant/back/2037.json new file mode 100644 index 00000000000..0d2c02cf980 --- /dev/null +++ b/public/images/pokemon/variant/back/2037.json @@ -0,0 +1,22 @@ +{ + "1": { + "151515": "101010", + "558b9f": "9f435d", + "648082": "6e67b0", + "97bdd2": "ffa8b8", + "c1d1d2": "b3b8ea", + "d9e9f4": "ffd3e1", + "fdfdfd": "d7d9f9", + "ffffff": "ffffff" + }, + "2": { + "151515": "101010", + "558b9f": "90215e", + "648082": "bf4747", + "97bdd2": "da4e75", + "c1d1d2": "ffc07b", + "d9e9f4": "ff8489", + "fdfdfd": "ffe6a0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/2038.json b/public/images/pokemon/variant/back/2038.json new file mode 100644 index 00000000000..845c45f7887 --- /dev/null +++ b/public/images/pokemon/variant/back/2038.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4d5c78": "394880", + "516077": "9f435d", + "007ab5": "2380c4", + "38858d": "e35ea2", + "7a8a9c": "6172ab", + "66b3d7": "3dbfe0", + "86a8c0": "e27495", + "81c2c5": "ff89c0", + "bdcbd7": "a7ade7", + "a1e1de": "ffb6e5", + "b0d3ea": "ffa8b8", + "eafefe": "ffd3e1", + "fdfdfd": "bec6ef", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "4d5c78": "73174a", + "516077": "bb3c3c", + "007ab5": "882493", + "38858d": "572746", + "7a8a9c": "90215e", + "66b3d7": "a044ab", + "86a8c0": "ff824c", + "81c2c5": "75355e", + "bdcbd7": "da426d", + "a1e1de": "93547c", + "b0d3ea": "ffbf6b", + "eafefe": "ffe28c", + "fdfdfd": "ff6f86", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/204.json b/public/images/pokemon/variant/back/204.json new file mode 100644 index 00000000000..1e4007149cb --- /dev/null +++ b/public/images/pokemon/variant/back/204.json @@ -0,0 +1,16 @@ +{ + "1": { + "52adb5": "a4b76b", + "84d6d6": "c1cd7d", + "294a7b": "4b7641", + "b5eff7": "e3e796", + "3a73a5": "74a057" + }, + "2": { + "52adb5": "d46b84", + "84d6d6": "eda6ae", + "294a7b": "700a4b", + "b5eff7": "f7dcd7", + "3a73a5": "b43469" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/205.json b/public/images/pokemon/variant/back/205.json new file mode 100644 index 00000000000..5a3e2d61606 --- /dev/null +++ b/public/images/pokemon/variant/back/205.json @@ -0,0 +1,22 @@ +{ + "1": { + "847b9c": "103b2c", + "e6cef7": "3e7745", + "ff9c9c": "ffb356", + "c5a5de": "205639", + "f76373": "f68b31", + "bd2942": "d8681e", + "524263": "04211a", + "841031": "af3b11" + }, + "2": { + "847b9c": "962a41", + "e6cef7": "e9b1a0", + "ff9c9c": "b0f5ee", + "c5a5de": "c86554", + "f76373": "6bbfd2", + "bd2942": "2c6094", + "524263": "691338", + "841031": "0e2667" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/299.json b/public/images/pokemon/variant/back/299.json new file mode 100644 index 00000000000..3b2cd15e3cd --- /dev/null +++ b/public/images/pokemon/variant/back/299.json @@ -0,0 +1,28 @@ +{ + "1": { + "000000": "101010", + "5a1921": "1f3a30", + "31314a": "6b2710", + "9c314a": "30594a", + "de5252": "487c60", + "ff6b7b": "5a9170", + "42529c": "a14020", + "637bbd": "c66831", + "ff9494": "7fbc7a", + "8ca5e6": "db8644", + "adbdf7": "e09a65" + }, + "2": { + "000000": "101010", + "5a1921": "28163a", + "31314a": "38619e", + "9c314a": "452b5e", + "de5252": "584282", + "ff6b7b": "675398", + "42529c": "68a2cd", + "637bbd": "99e4ee", + "ff9494": "7282c4", + "8ca5e6": "dcfff8", + "adbdf7": "f3fff6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/313.json b/public/images/pokemon/variant/back/313.json new file mode 100644 index 00000000000..65a1cfe9eae --- /dev/null +++ b/public/images/pokemon/variant/back/313.json @@ -0,0 +1,28 @@ +{ + "1": { + "a5b5c5": "eea256", + "4a4a52": "9c1200", + "deb552": "ffda31", + "7b8ca5": "d66d38", + "ce3a52": "491c22", + "f78473": "643a35", + "8c6b52": "845c46", + "ffe652": "fffa52", + "8c314a": "2b1419", + "8c8c94": "ff3b21", + "e65263": "57272c" + }, + "2": { + "a5b5c5": "3a767b", + "4a4a52": "175614", + "deb552": "b6d479", + "7b8ca5": "1e5256", + "ce3a52": "1585cc", + "f78473": "77d4ee", + "8c6b52": "5c713d", + "ffe652": "dde6b1", + "8c314a": "0c4275", + "8c8c94": "0ba905", + "e65263": "32b0ff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/314.json b/public/images/pokemon/variant/back/314.json new file mode 100644 index 00000000000..f77165c7b15 --- /dev/null +++ b/public/images/pokemon/variant/back/314.json @@ -0,0 +1,30 @@ +{ + "1": { + "9c8452": "ac6f0e", + "5a6b8c": "9a4013", + "8cadce": "d66d38", + "ce8cde": "6a342c", + "ffe673": "fbf650", + "7b7b7b": "b82b18", + "e6b54a": "efcb26", + "3a3a3a": "6b180d", + "9c52bd": "57272c", + "adc5ef": "eea256", + "3a3152": "2d0723", + "6b5a94": "2b1419" + }, + "2": { + "9c8452": "074656", + "5a6b8c": "70a84f", + "8cadce": "c1db9c", + "ce8cde": "77d4ee", + "ffe673": "3dc5d3", + "7b7b7b": "155870", + "e6b54a": "019792", + "3a3a3a": "0a2934", + "9c52bd": "43a3df", + "adc5ef": "e5edcc", + "3a3152": "051b37", + "6b5a94": "255b95" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/32.json b/public/images/pokemon/variant/back/32.json new file mode 100644 index 00000000000..473edcae2af --- /dev/null +++ b/public/images/pokemon/variant/back/32.json @@ -0,0 +1,34 @@ +{ + "1": { + "101010": "101010", + "006342": "273161", + "63426b": "944f25", + "b51900": "28678a", + "de4229": "42adc1", + "ff6b52": "78d6d3", + "00a573": "3b4d7a", + "9c4aad": "ab5c24", + "bd63c5": "cf863e", + "19ce9c": "55729e", + "e69cd6": "e0c151", + "efbdef": "ede4ab", + "cecece": "cecece", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "006342": "b0384a", + "63426b": "142440", + "b51900": "b86527", + "de4229": "e1b13b", + "ff6b52": "eddd95", + "00a573": "d65e64", + "9c4aad": "133257", + "bd63c5": "253f5e", + "19ce9c": "ed938e", + "e69cd6": "375c73", + "efbdef": "5d91a1", + "cecece": "cecece", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/325.json b/public/images/pokemon/variant/back/325.json new file mode 100644 index 00000000000..1918b48adfd --- /dev/null +++ b/public/images/pokemon/variant/back/325.json @@ -0,0 +1,24 @@ +{ + "1": { + "ef84ad": "5ca0b5", + "f7a5bd": "6ac5c8", + "c5637b": "3c6b95", + "ffd6e6": "b4e6e7", + "7b7b8c": "559b43", + "5a5a73": "2e7320", + "a5a5ad": "b5d780", + "a53a42": "2b4d7d", + "3a4252": "18340c" + }, + "2": { + "ef84ad": "1f6759", + "f7a5bd": "379a85", + "c5637b": "144844", + "ffd6e6": "8dd6ab", + "7b7b8c": "dca878", + "5a5a73": "a7724a", + "a5a5ad": "fbe3a3", + "a53a42": "0c2625", + "3a4252": "72442d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/326.json b/public/images/pokemon/variant/back/326.json new file mode 100644 index 00000000000..eb1c4954208 --- /dev/null +++ b/public/images/pokemon/variant/back/326.json @@ -0,0 +1,30 @@ +{ + "1": { + "9c9ca5": "7ecdd1", + "d684ce": "7bb15b", + "636373": "3c6b95", + "6b426b": "559b43", + "ce5a7b": "d06d50", + "a5425a": "a84331", + "f7a5b5": "f7d1a0", + "ef7b94": "e99e76", + "bd63ad": "559b43", + "e6a5de": "b5d780", + "4a4a52": "2b4d7d", + "7b7b84": "5ca0b5" + }, + "2": { + "9c9ca5": "fffade", + "d684ce": "67508c", + "636373": "e8bc75", + "6b426b": "081f19", + "ce5a7b": "1f6759", + "a5425a": "144844", + "f7a5b5": "5cba98", + "ef7b94": "379a85", + "bd63ad": "574285", + "e6a5de": "7a649c", + "4a4a52": "d08f55", + "7b7b84": "fbefb3" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/33.json b/public/images/pokemon/variant/back/33.json new file mode 100644 index 00000000000..331220de9ef --- /dev/null +++ b/public/images/pokemon/variant/back/33.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "5a3a63": "944f25", + "b51900": "b51900", + "de4229": "de4229", + "845a52": "42adc1", + "009463": "273161", + "945ab5": "cf863e", + "4acea5": "55729e", + "848484": "848484", + "ce84de": "e0c151", + "e6adef": "ede4ab", + "c5c5c5": "c5c5c5", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a3a63": "142440", + "b51900": "d98943", + "de4229": "edc85a", + "845a52": "e1b13b", + "009463": "b0384a", + "945ab5": "253f5e", + "4acea5": "ed938e", + "848484": "848484", + "ce84de": "375c73", + "e6adef": "5d91a1", + "c5c5c5": "c5c5c5", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/331.json b/public/images/pokemon/variant/back/331.json new file mode 100644 index 00000000000..7dcb633affb --- /dev/null +++ b/public/images/pokemon/variant/back/331.json @@ -0,0 +1,30 @@ +{ + "1": { + "003a10": "601130", + "ffe63a": "7aa1df", + "31944a": "b73736", + "215200": "69102c", + "63bd6b": "dd6754", + "f7bd19": "448bc3", + "4a7310": "9f2a3f", + "196b31": "891d2c", + "94c552": "d76868", + "739c3a": "d74f4f", + "8c6b3a": "123a5a", + "bdde7b": "e67f7f" + }, + "2": { + "003a10": "684531", + "ffe63a": "eaa5c6", + "31944a": "c09e6c", + "215200": "694426", + "63bd6b": "d9c985", + "f7bd19": "d979b2", + "4a7310": "6d3494", + "196b31": "946e51", + "94c552": "9364a5", + "739c3a": "7c558d", + "8c6b3a": "983364", + "bdde7b": "a772bd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/332.json b/public/images/pokemon/variant/back/332.json new file mode 100644 index 00000000000..c13c07c34b4 --- /dev/null +++ b/public/images/pokemon/variant/back/332.json @@ -0,0 +1,28 @@ +{ + "1": { + "319452": "831a1f", + "4aa552": "9f2f2c", + "7ba563": "b44040", + "8cbd63": "c54b4b", + "215200": "710f2f", + "196b21": "831a1f", + "a5d674": "df5252", + "4a7310": "982443", + "a5d673": "e16363", + "63b56b": "b2332f", + "215201": "630d28" + }, + "2": { + "319452": "b08d72", + "4aa552": "c5a77f", + "7ba563": "704e7e", + "8cbd63": "e3d7a6", + "215200": "3f3249", + "196b21": "b08d72", + "a5d674": "d7cda7", + "4a7310": "4f3956", + "a5d673": "8c669b", + "63b56b": "cfc191", + "215201": "583823" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/34.json b/public/images/pokemon/variant/back/34.json new file mode 100644 index 00000000000..953d0276777 --- /dev/null +++ b/public/images/pokemon/variant/back/34.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "5a296b": "7a411d", + "73735a": "696342", + "73735b": "73735b", + "73735c": "3b447a", + "a55294": "cf863e", + "d673ef": "e0c151", + "c5c5a5": "6272a8", + "c7c7a9": "c7c7a9", + "c4c4a7": "c4c4a7", + "de94f7": "ede4ab", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a296b": "142440", + "73735a": "a37355", + "73735b": "73735b", + "73735c": "85204a", + "a55294": "253f5e", + "d673ef": "375c73", + "c5c5a5": "c43d63", + "c7c7a9": "e0b990", + "c4c4a7": "c4c4a7", + "de94f7": "5d91a1", + "fcfcfc": "fcfcfc", + "ffffff": "ede1b4" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/345.json b/public/images/pokemon/variant/back/345.json new file mode 100644 index 00000000000..c7b0d665e29 --- /dev/null +++ b/public/images/pokemon/variant/back/345.json @@ -0,0 +1,28 @@ +{ + "1": { + "633a84": "611746", + "efd663": "fcf3a2", + "bd5284": "6084bd", + "6b5221": "679e3a", + "b5ade6": "ff5289", + "d6a531": "d8e374", + "efadb5": "b9f0ff", + "7363b5": "801f4c", + "ce7394": "84aedb", + "843a5a": "394287", + "9c84ce": "bd3167" + }, + "2": { + "633a84": "b57c2d", + "efd663": "de463e", + "bd5284": "429949", + "6b5221": "661634", + "b5ade6": "fff8a3", + "d6a531": "942532", + "efadb5": "beed9a", + "7363b5": "dbb34d", + "ce7394": "7fcc68", + "843a5a": "296e47", + "9c84ce": "f5df73" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/346.json b/public/images/pokemon/variant/back/346.json new file mode 100644 index 00000000000..d2b5406f75a --- /dev/null +++ b/public/images/pokemon/variant/back/346.json @@ -0,0 +1,30 @@ +{ + "1": { + "ffd6ef": "deffea", + "3a6b52": "7f183f", + "a57b10": "5e8c29", + "a5e68c": "f38460", + "ce6394": "526f84", + "ef6b8c": "93c6c5", + "7bc573": "eb564b", + "ff9cad": "d2faef", + "f7d642": "d8e374", + "cea531": "a7c961", + "944263": "304459", + "529c5a": "b32843" + }, + "2": { + "ffd6ef": "a3ffc3", + "3a6b52": "96483b", + "a57b10": "661634", + "a5e68c": "ffe6b5", + "ce6394": "32806f", + "ef6b8c": "53b491", + "7bc573": "efbd8c", + "ff9cad": "7be3b6", + "f7d642": "de463e", + "cea531": "942532", + "944263": "17404a", + "529c5a": "bf815c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/396.json b/public/images/pokemon/variant/back/396.json new file mode 100644 index 00000000000..00ffa97fd19 --- /dev/null +++ b/public/images/pokemon/variant/back/396.json @@ -0,0 +1,36 @@ +{ + "1": { + "d6dede": "e3d09d", + "949494": "dbb070", + "736363": "28854d", + "ffffff": "f0ecd3", + "382028": "751e23", + "d67300": "db963b", + "b5b5b5": "d4b27f", + "808080": "c48c51", + "9c4a21": "b06421", + "8c7373": "bd453c", + "3a2129": "07332d", + "524a4a": "156146", + "4f4747": "144a40", + "ad9c9c": "ed7f4c", + "ff9429": "ffcf5e" + }, + "2": { + "d6dede": "f0deaa", + "949494": "c29b72", + "736363": "2f436b", + "ffffff": "fcfad2", + "382028": "163d4d", + "d67300": "52281f", + "b5b5b5": "debd8c", + "808080": "a67c5d", + "9c4a21": "451915", + "8c7373": "307b82", + "3a2129": "0f1730", + "524a4a": "1b2745", + "4f4747": "e6a647", + "ad9c9c": "4da8a1", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/397.json b/public/images/pokemon/variant/back/397.json new file mode 100644 index 00000000000..d1f7e646649 --- /dev/null +++ b/public/images/pokemon/variant/back/397.json @@ -0,0 +1,36 @@ +{ + "1": { + "735a63": "bd453c", + "574f57": "144a40", + "5a525a": "28854d", + "f75242": "8bba65", + "878787": "bda377", + "b5b5b5": "d9c798", + "ff9429": "ffcf5e", + "382f38": "0c3331", + "3a313a": "156146", + "362d36": "572e14", + "fcfcfc": "f0ebc5", + "bd6300": "994c1c", + "7b4221": "c47a2f", + "523a4a": "751e23", + "9c848c": "ed7f4c" + }, + "2": { + "735a63": "307b82", + "574f57": "e6a647", + "5a525a": "2f436b", + "f75242": "f797ad", + "878787": "ba946e", + "b5b5b5": "debd8c", + "ff9429": "8c604c", + "382f38": "c27b34", + "3a313a": "1b2745", + "362d36": "421917", + "fcfcfc": "fcfad2", + "bd6300": "63362b", + "7b4221": "52281f", + "523a4a": "163d4d", + "9c848c": "4da8a1" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/398.json b/public/images/pokemon/variant/back/398.json new file mode 100644 index 00000000000..ed678a4c4f3 --- /dev/null +++ b/public/images/pokemon/variant/back/398.json @@ -0,0 +1,35 @@ +{ + "1": { + "9c4242": "5fad3b", + "5c545c": "144a40", + "3a313a": "0b3634", + "7b4221": "b06421", + "bd6300": "db963b", + "5a525a": "156146", + "7b6b7b": "28854d", + "f75242": "90cc58", + "735a63": "bd453c", + "ffffff": "e8e3b6", + "523a4a": "751e23", + "3a3a3a": "07332d", + "b5b5b5": "d7be89", + "9c848c": "ed7f4c", + "ff9429": "ffcf5e" + }, + "2": { + "9c4242": "c4833d", + "5c545c": "e6a647", + "7b4221": "421917", + "bd6300": "63362b", + "5a525a": "1b2745", + "7b6b7b": "293854", + "f75242": "e6bd4e", + "735a63": "307b82", + "ffffff": "fcfad2", + "523a4a": "163d4d", + "3a3a3a": "080d1f", + "b5b5b5": "debd8c", + "9c848c": "4da8a1", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/403.json b/public/images/pokemon/variant/back/403.json new file mode 100644 index 00000000000..4b8d7b52070 --- /dev/null +++ b/public/images/pokemon/variant/back/403.json @@ -0,0 +1,22 @@ +{ + "1": { + "b59c5a": "45babf", + "7badf7": "bb5c3a", + "637bb5": "903325", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "42426b": "671919", + "736352": "267789" + }, + "2": { + "b59c5a": "9a31be", + "7badf7": "303465", + "637bb5": "222352", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "42426b": "121031", + "736352": "611c7f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/404.json b/public/images/pokemon/variant/back/404.json new file mode 100644 index 00000000000..32ab9ea8a1d --- /dev/null +++ b/public/images/pokemon/variant/back/404.json @@ -0,0 +1,24 @@ +{ + "1": { + "736352": "267789", + "4a4a73": "671919", + "63637b": "f1dfb1", + "637bb5": "903325", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "b59c5a": "45babf", + "7badf7": "bb5c3a" + }, + "2": { + "736352": "611c7f", + "4a4a73": "121031", + "63637b": "dee4f4", + "637bb5": "222352", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "b59c5a": "9a31be", + "7badf7": "303465" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/405.json b/public/images/pokemon/variant/back/405.json new file mode 100644 index 00000000000..46a38cfd243 --- /dev/null +++ b/public/images/pokemon/variant/back/405.json @@ -0,0 +1,30 @@ +{ + "1": { + "b59c5a": "45babf", + "7badf7": "bb5c3a", + "63637b": "f1dfb1", + "4a4a73": "671919", + "637bb5": "903325", + "353255": "4a0e15", + "4a4a63": "dcb788", + "ffe65a": "59dcd6", + "313142": "bf8652", + "943a52": "472614", + "e64a52": "4f3217", + "736352": "267789" + }, + "2": { + "b59c5a": "9a31be", + "7badf7": "303465", + "63637b": "dee4f4", + "4a4a73": "121031", + "637bb5": "222352", + "353255": "06051b", + "4a4a63": "bbc2e5", + "ffe65a": "e25ce8", + "313142": "8883d4", + "943a52": "614b9a", + "e64a52": "6f5dac", + "736352": "611c7f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/417.json b/public/images/pokemon/variant/back/417.json new file mode 100644 index 00000000000..27f45e74557 --- /dev/null +++ b/public/images/pokemon/variant/back/417.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3e364e": "734430", + "524941": "732e12", + "5a524a": "642f1a", + "4a425a": "5f2618", + "84523a": "9b314f", + "ef845a": "e26e6e", + "c5a563": "e95d6c", + "ffd663": "f17c7c", + "637b9c": "86452b", + "7bb5e6": "a25f37", + "cec5c5": "e8be64", + "f7f7f7": "faeda9", + "ffffff": "ffffff", + "7b7b84": "8e623c" + }, + "2": { + "101010": "101010", + "3e364e": "203243", + "524941": "2d284c", + "5a524a": "0f203a", + "4a425a": "23704c", + "84523a": "693939", + "ef845a": "e1b8ac", + "c5a563": "5ae7f6", + "ffd663": "8ffaff", + "637b9c": "a2dc76", + "7bb5e6": "e4fba1", + "cec5c5": "357577", + "f7f7f7": "5ba297", + "ffffff": "ffffff", + "7b7b84": "1f3f4e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/420.json b/public/images/pokemon/variant/back/420.json new file mode 100644 index 00000000000..3177603d799 --- /dev/null +++ b/public/images/pokemon/variant/back/420.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "423131": "103d47", + "6b3a4a": "09303b", + "314252": "8f3833", + "3a734a": "ab554b", + "843152": "185158", + "ad426b": "368a7f", + "429442": "d98b77", + "52a54a": "f7bfa8", + "73ce5a": "fcdbc7", + "de6384": "51b095", + "ff8cad": "73d9ae", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "423131": "390f26", + "6b3a4a": "29091b", + "314252": "752a4a", + "3a734a": "9c4861", + "843152": "3b0d21", + "ad426b": "571539", + "429442": "a86a79", + "52a54a": "c29597", + "73ce5a": "dec3c3", + "de6384": "752648", + "ff8cad": "ad5168", + "ffffff": "ffffff" + } + } \ No newline at end of file diff --git a/public/images/pokemon/variant/back/421-overcast.json b/public/images/pokemon/variant/back/421-overcast.json new file mode 100644 index 00000000000..77c5c18415d --- /dev/null +++ b/public/images/pokemon/variant/back/421-overcast.json @@ -0,0 +1,34 @@ +{ + "1": { + "101010": "101010", + "105221": "ab554b", + "4a2942": "5e1228", + "7b294a": "103d47", + "7a2a4a": "236e6a", + "427b4a": "d98b77", + "6b427b": "962a3e", + "a53a63": "368a7f", + "ce527b": "51b095", + "52ad5a": "f7bfa8", + "5ac55a": "fcdbc7", + "845aad": "c75058", + "9c7bbd": "db7f7f", + "de7394": "73d9ae" + }, + "2": { + "101010": "101010", + "105221": "995969", + "4a2942": "521d44", + "7b294a": "390f26", + "7a2a4a": "571539", + "427b4a": "ba8087", + "6b427b": "8f4270", + "a53a63": "611c3b", + "ce527b": "752648", + "52ad5a": "cf9d9d", + "5ac55a": "e3cbca", + "845aad": "a86886", + "9c7bbd": "d197ac", + "de7394": "ad5168" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/421-sunshine.json b/public/images/pokemon/variant/back/421-sunshine.json new file mode 100644 index 00000000000..096641576c9 --- /dev/null +++ b/public/images/pokemon/variant/back/421-sunshine.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "006310": "e6d590", + "941e3f": "103d47", + "9c6b10": "c4655a", + "941f40": "5c1547", + "942142": "591230", + "ce3a6b": "751a38", + "cf3c6d": "872e5c", + "cf3e6e": "368a7f", + "19943a": "f0f0bd", + "d6b55a": "db8e7d", + "f7de73": "f7bfa8", + "e66394": "51b095", + "de84ad": "962a3e", + "ffa5c5": "c75058", + "ffe6f7": "d0fdf0", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "006310": "72559e", + "941e3f": "390f26", + "9c6b10": "4a2942", + "941f40": "3a234a", + "942142": "804058", + "ce3a6b": "995969", + "cf3c6d": "563666", + "cf3e6e": "571539", + "19943a": "9574b3", + "d6b55a": "914972", + "f7de73": "b35f86", + "e66394": "752648", + "de84ad": "cf9d9d", + "ffa5c5": "e3cbca", + "ffe6f7": "d26393", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/446.json b/public/images/pokemon/variant/back/446.json new file mode 100644 index 00000000000..1f6d43127bb --- /dev/null +++ b/public/images/pokemon/variant/back/446.json @@ -0,0 +1,38 @@ +{ + "1": { + "000000": "101010", + "104242": "4d0f3f", + "215a73": "701a55", + "317b9c": "943469", + "3194b5": "ad4b70", + "524a10": "91504e", + "73737b": "756363", + "7b5a31": "522663", + "948442": "bf777a", + "9c3a42": "714084", + "b5b563": "de9494", + "cccfce": "cbc4c4", + "cecece": "cecece", + "de9494": "a270b5", + "efe684": "f0beb1", + "ffffff": "ffffff" + }, + "2": { + "000000": "101010", + "104242": "6398b7", + "215a73": "a3cacd", + "317b9c": "cbe4e2", + "3194b5": "edf5f4", + "524a10": "233f69", + "73737b": "525266", + "7b5a31": "e6cda1", + "948442": "2f4d80", + "9c3a42": "487d43", + "b5b563": "38638f", + "cccfce": "bfc7cb", + "cecece": "cecece", + "de9494": "9cb780", + "efe684": "4781a8", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/476.json b/public/images/pokemon/variant/back/476.json new file mode 100644 index 00000000000..5f54f51d1f9 --- /dev/null +++ b/public/images/pokemon/variant/back/476.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "5a2921": "0e291d", + "7b3129": "1e3f30", + "293a4a": "352310", + "3a4a5a": "59452f", + "bd3152": "30594a", + "e65a63": "578b6b", + "194a84": "62230e", + "3a63ad": "9d3a18", + "5a7bce": "c76227", + "ef7b8c": "77b472", + "739ce6": "de7f36", + "84adf7": "e68c43", + "c5cede": "c5cede", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "5a2921": "21132c", + "7b3129": "301b3f", + "293a4a": "111b28", + "3a4a5a": "253142", + "bd3152": "482a5e", + "e65a63": "6a5394", + "194a84": "30578e", + "3a63ad": "5b97c1", + "5a7bce": "92dee8", + "ef7b8c": "747fc4", + "739ce6": "dbfff4", + "84adf7": "c2efe5", + "c5cede": "c5cede", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/498.json b/public/images/pokemon/variant/back/498.json new file mode 100644 index 00000000000..ecc0ccf7a98 --- /dev/null +++ b/public/images/pokemon/variant/back/498.json @@ -0,0 +1,44 @@ +{ + "1": { + "101010": "101010", + "2e1e1e": "b1a385", + "2e1f1f": "d1c5ab", + "302020": "194737", + "312121": "1e2a4d", + "473830": "f7f5e9", + "4a3a31": "2d405c", + "7a3827": "1c2e1b", + "7b3a29": "194737", + "947310": "cc955e", + "bd6331": "3b805f", + "ce423a": "3e4f37", + "a54a42": "2d452b", + "e66b29": "b5cca5", + "efbd08": "f0cc8b", + "ef843a": "65b57c", + "c5ada5": "c1c5a5", + "ffffff": "ffffff", + "47382f": "472770" + }, + "2": { + "101010": "101010", + "2e1e1e": "ac8b61", + "2e1f1f": "c4a884", + "302020": "522e2e", + "312121": "47150e", + "473830": "e0d3ab", + "4a3a31": "733421", + "7a3827": "222742", + "7b3a29": "522e2e", + "947310": "828399", + "bd6331": "85564e", + "ce423a": "323754", + "a54a42": "4c5275", + "e66b29": "778aa6", + "efbd08": "c7c8d9", + "ef843a": "ab8274", + "c5ada5": "dddef0", + "ffffff": "ffffff", + "47382f": "456da8" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/499.json b/public/images/pokemon/variant/back/499.json new file mode 100644 index 00000000000..ad525f3e114 --- /dev/null +++ b/public/images/pokemon/variant/back/499.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "3a2121": "1e2a4d", + "3a3a3a": "122b18", + "523129": "2d405c", + "7a3827": "1c2e1b", + "7b3a29": "234f3d", + "736310": "ab6441", + "4a4a4a": "264524", + "bd5a31": "41785a", + "ce423a": "3e4f37", + "ef7329": "62a174", + "b59421": "cc955e", + "efc53a": "f0cc8b", + "c5ada5": "c5ada5", + "c4aea7": "c4aea7", + "fcfcfc": "fcfcfc", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "3a2121": "47150e", + "3a3a3a": "1c2245", + "523129": "733421", + "7a3827": "222742", + "7b3a29": "533330", + "736310": "3c3e5b", + "4a4a4a": "272d4f", + "bd5a31": "7a5a56", + "ce423a": "323754", + "ef7329": "967a71", + "b59421": "828399", + "efc53a": "c7c8d9", + "c5ada5": "c4a884", + "c4aea7": "c4aea7", + "fcfcfc": "e0d3ab", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/500.json b/public/images/pokemon/variant/back/500.json new file mode 100644 index 00000000000..55e8d8b6548 --- /dev/null +++ b/public/images/pokemon/variant/back/500.json @@ -0,0 +1,46 @@ +{ + "1": { + "101010": "101010", + "212121": "1e2a4d", + "313131": "2d405c", + "333333": "2c2f35", + "7b1910": "257036", + "7a1a11": "1c2e1b", + "732900": "2c473e", + "7b5a08": "ab6441", + "a33a31": "35963e", + "a53a31": "3e4f37", + "bd5221": "3e6952", + "ef6321": "699676", + "b58c21": "cc955e", + "ef8c08": "86e677", + "efbd08": "c7f797", + "f0be0a": "f0cc8b", + "adadad": "a3a6ad", + "f7f7f7": "e4eef5", + "e63129": "58db58", + "e33229": "627556" + }, + "2": { + "101010": "101010", + "212121": "47150e", + "313131": "733421", + "333333": "3b352b", + "7b1910": "ba843d", + "7a1a11": "20243d", + "732900": "522e2e", + "7b5a08": "3c3e5b", + "a33a31": "cfa255", + "a53a31": "2d3250", + "bd5221": "7a5a56", + "ef6321": "967a71", + "b58c21": "828399", + "ef8c08": "f2d591", + "efbd08": "faefc7", + "f0be0a": "c7c8d9", + "adadad": "c4a884", + "f7f7f7": "e0d3ab", + "e63129": "e3c65c", + "e33229": "464a66" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/511.json b/public/images/pokemon/variant/back/511.json new file mode 100644 index 00000000000..a5ca6fa862f --- /dev/null +++ b/public/images/pokemon/variant/back/511.json @@ -0,0 +1,20 @@ +{ + "1": { + "a57b3a": "c58869", + "ffce7b": "edc293", + "735221": "bd7653", + "cea55a": "d9a177", + "194a29": "912f1c", + "087331": "c45331", + "19a552": "d97b41" + }, + "2": { + "a57b3a": "5580bf", + "ffce7b": "8ecaed", + "735221": "3f6aa6", + "cea55a": "73acde", + "194a29": "4c2d7a", + "087331": "683b8c", + "19a552": "8a53a6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/512.json b/public/images/pokemon/variant/back/512.json new file mode 100644 index 00000000000..8d75727c3f0 --- /dev/null +++ b/public/images/pokemon/variant/back/512.json @@ -0,0 +1,26 @@ +{ + "1": { + "ffce7b": "eab68b", + "525252": "a36e46", + "087331": "c74638", + "194a29": "a12d25", + "ffffff": "dbc086", + "a57b3a": "a65b3d", + "cea55a": "c8895f", + "9c9c9c": "cfa067", + "735221": "733224", + "19a552": "ed6f53" + }, + "2": { + "ffce7b": "58aee0", + "525252": "3073ab", + "087331": "522880", + "194a29": "331961", + "ffffff": "5bc6de", + "a57b3a": "3762bf", + "cea55a": "4686cf", + "9c9c9c": "4099c2", + "735221": "2a42a1", + "19a552": "6e368f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/513.json b/public/images/pokemon/variant/back/513.json new file mode 100644 index 00000000000..5a8f4847bc9 --- /dev/null +++ b/public/images/pokemon/variant/back/513.json @@ -0,0 +1,20 @@ +{ + "1": { + "a57b3a": "e4907f", + "ffce7b": "ffe6c9", + "bd423a": "28629c", + "e65242": "3d9bbe", + "7b3131": "1b3e70", + "735221": "c3635b", + "cea55a": "f9b9a2" + }, + "2": { + "a57b3a": "bc2f2f", + "ffce7b": "ed8c7b", + "bd423a": "d5b393", + "e65242": "f4ecd7", + "7b3131": "ad7a63", + "735221": "a1272f", + "cea55a": "d4554c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/514.json b/public/images/pokemon/variant/back/514.json new file mode 100644 index 00000000000..90e7c698f29 --- /dev/null +++ b/public/images/pokemon/variant/back/514.json @@ -0,0 +1,27 @@ +{ + "1": { + "ffce7b": "ffe2bf", + "bd423a": "265494", + "e65242": "3a7bb5", + "7b3131": "193170", + "ffffff": "c0e7fc", + "735221": "ba6a57", + "c5c5c5": "97c0e6", + "cea55a": "edba9a", + "9c9c9c": "6f94c7", + "525252": "465f9e" + }, + "2": { + "ffce7b": "cc643b", + "bd423a": "cfb88f", + "e65242": "ede9d1", + "7b3131": "a88260", + "a57b3a": "782017", + "ffffff": "f7cc57", + "735221": "5c0e0e", + "c5c5c5": "e3a13d", + "cea55a": "943722", + "9c9c9c": "cc762b", + "525252": "ad4d1d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/515.json b/public/images/pokemon/variant/back/515.json new file mode 100644 index 00000000000..d8a7c4e9136 --- /dev/null +++ b/public/images/pokemon/variant/back/515.json @@ -0,0 +1,22 @@ +{ + "1": { + "ffce7b": "fff187", + "003a73": "0a4a2d", + "21739c": "136b3b", + "198cad": "219448", + "29b5de": "34c15e", + "cea55a": "e0c265", + "735221": "735f21", + "a57b3a": "b5893c" + }, + "2": { + "ffce7b": "e76092", + "003a73": "a64e8b", + "21739c": "cc70a4", + "198cad": "eb98bf", + "29b5de": "ffc9dd", + "cea55a": "cc4580", + "735221": "8f1f68", + "a57b3a": "b32e77" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/516.json b/public/images/pokemon/variant/back/516.json new file mode 100644 index 00000000000..ae188e87625 --- /dev/null +++ b/public/images/pokemon/variant/back/516.json @@ -0,0 +1,24 @@ +{ + "1": { + "ffce7b": "fadd73", + "106b8c": "13571a", + "003a73": "08420d", + "9c9c9c": "aecf86", + "a57b3a": "9c7935", + "cea55a": "c4a148", + "218ca5": "3c8c22", + "735221": "7b5e29", + "29b5de": "6fad37" + }, + "2": { + "ffce7b": "e76092", + "106b8c": "cc70a4", + "003a73": "a64e8b", + "9c9c9c": "59b7d4", + "a57b3a": "b32e77", + "cea55a": "cc4580", + "218ca5": "eb98bf", + "735221": "8f1f68", + "29b5de": "ffc9dd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/522.json b/public/images/pokemon/variant/back/522.json new file mode 100644 index 00000000000..9c301bca713 --- /dev/null +++ b/public/images/pokemon/variant/back/522.json @@ -0,0 +1,36 @@ +{ + "1": { + "a5a5a5": "676fc2", + "7b7b7b": "505a9b", + "525252": "95355d", + "cecece": "788bcb", + "161d1d": "2e0d1f", + "797878": "676fc2", + "005a9c": "75c239", + "505050": "3d4488", + "ffffff": "b9cfef", + "ffe600": "61e4bf", + "3a3a3a": "731f51", + "00adde": "b9e96c", + "8c7321": "33a08a", + "292929": "53173b", + "192121": "43172f" + }, + "2": { + "a5a5a5": "cb6a3a", + "7b7b7b": "731515", + "525252": "ebc37d", + "cecece": "97221a", + "161d1d": "370b0b", + "797878": "cb6a3a", + "005a9c": "30309d", + "505050": "4e1416", + "ffffff": "c23e2e", + "ffe600": "36c294", + "3a3a3a": "cd8a58", + "00adde": "3e4ddc", + "8c7321": "288278", + "292929": "914824", + "192121": "661212" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/523.json b/public/images/pokemon/variant/back/523.json new file mode 100644 index 00000000000..e8e37d6b7ab --- /dev/null +++ b/public/images/pokemon/variant/back/523.json @@ -0,0 +1,44 @@ +{ + "1": { + "373737": "43172f", + "373f3f": "353573", + "a5a5a5": "7080c6", + "5d4802": "1f8076", + "ffffff": "b9cfef", + "181f1f": "3d467d", + "8c7321": "33a08a", + "293131": "6a1d44", + "8c721f": "3d9197", + "7b7b7b": "5265a4", + "797878": "5265a4", + "182121": "430f30", + "cecece": "7e91d3", + "5a5a5a": "47548f", + "ffe600": "61e4bf", + "3a3a3a": "5d213a", + "00adde": "b9e96c", + "3a4242": "84294f", + "192121": "57163d" + }, + "2": { + "373737": "501a19", + "373f3f": "4e1416", + "a5a5a5": "861816", + "5d4802": "145b5d", + "ffffff": "c23e2e", + "181f1f": "5e1717", + "8c7321": "288278", + "293131": "c89161", + "8c721f": "54a48a", + "7b7b7b": "731515", + "797878": "da7248", + "182121": "661212", + "cecece": "97221a", + "5a5a5a": "611616", + "ffe600": "36c294", + "3a3a3a": "682321", + "00adde": "3e4ddc", + "3a4242": "ebc37d", + "192121": "9e533b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/535.json b/public/images/pokemon/variant/back/535.json new file mode 100644 index 00000000000..2d1a18e3b9a --- /dev/null +++ b/public/images/pokemon/variant/back/535.json @@ -0,0 +1,26 @@ +{ + "1": { + "6bbdff": "a9c4d7", + "366089": "801941", + "636363": "8b2b4b", + "66bafd": "d65a5a", + "3a638c": "40567d", + "191919": "330821", + "7394c5": "6f8fb1", + "6f90c1": "b53a57", + "292929": "420e2d", + "424242": "671e3f" + }, + "2": { + "6bbdff": "672a23", + "366089": "ac6634", + "636363": "d76d39", + "66bafd": "f3cd69", + "3a638c": "420f1d", + "191919": "4f150a", + "7394c5": "54131a", + "6f90c1": "cd984a", + "292929": "7d2414", + "424242": "ac4423" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/536.json b/public/images/pokemon/variant/back/536.json new file mode 100644 index 00000000000..78a59fb699c --- /dev/null +++ b/public/images/pokemon/variant/back/536.json @@ -0,0 +1,32 @@ +{ + "1": { + "196373": "801941", + "404040": "874330", + "84e6d6": "d65a5a", + "10427b": "40567d", + "52a5b5": "b53a57", + "292929": "400a32", + "5e5e5e": "a96147", + "ffffff": "e3c998", + "296bad": "6f8fb1", + "c5c5c5": "ca9470", + "424242": "5e1246", + "0894d6": "a9c4d7", + "636363": "801c4e" + }, + "2": { + "196373": "ac6634", + "404040": "365a72", + "84e6d6": "f3cd69", + "10427b": "4a1423", + "52a5b5": "cd984a", + "292929": "7d2414", + "5e5e5e": "52809b", + "ffffff": "aadfe0", + "296bad": "5d171e", + "c5c5c5": "7fb8c2", + "424242": "ac4423", + "0894d6": "75332b", + "636363": "d76d39" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/537.json b/public/images/pokemon/variant/back/537.json new file mode 100644 index 00000000000..757d692bd40 --- /dev/null +++ b/public/images/pokemon/variant/back/537.json @@ -0,0 +1,24 @@ +{ + "1": { + "196373": "801941", + "52a58c": "b53a57", + "636363": "801c4e", + "10427b": "40567d", + "73e6ce": "d65a5a", + "292929": "400a32", + "424242": "5e1246", + "296bad": "6f8fb1", + "0894d6": "a9c4d7" + }, + "2": { + "196373": "ac6634", + "52a58c": "cd984a", + "636363": "d76d39", + "10427b": "4a1423", + "73e6ce": "f3cd69", + "292929": "7d2414", + "424242": "ac4423", + "296bad": "5d171e", + "0894d6": "75332b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/554.json b/public/images/pokemon/variant/back/554.json new file mode 100644 index 00000000000..803721e4f0d --- /dev/null +++ b/public/images/pokemon/variant/back/554.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "5a1919": "2e3573", + "66311a": "a16012", + "634231": "946344", + "9c2929": "4e5aa3", + "ce3131": "6c7ec4", + "947310": "b0895f", + "ad5a2b": "a17a50", + "a75625": "d19628", + "cea519": "bda373", + "ffce21": "e3e2ba", + "ff9452": "e8c661", + "b15c29": "a17a50" + }, + "2": { + "101010": "101010", + "5a1919": "bf7558", + "66311a": "291d1b", + "634231": "75102a", + "9c2929": "d6a376", + "ce3131": "f0e2b9", + "947310": "9c1c2b", + "ad5a2b": "4a3021", + "a75625": "4a3021", + "cea519": "ba343d", + "ffce21": "d14949", + "ff9452": "614b38", + "b15c29": "b15c29" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/555-zen.json b/public/images/pokemon/variant/back/555-zen.json new file mode 100644 index 00000000000..9df761c1833 --- /dev/null +++ b/public/images/pokemon/variant/back/555-zen.json @@ -0,0 +1,24 @@ +{ + "1": { + "101010": "101010", + "215263": "592226", + "3a7b8c": "7d3e3d", + "425a63": "b5775b", + "529cad": "8c5b54", + "7ba5bd": "c99d7b", + "ad6b29": "3b3f87", + "b5d6ef": "e0c19b", + "e6a563": "7b8dd4" + }, + "2": { + "101010": "101010", + "215263": "523273", + "3a7b8c": "805a9c", + "425a63": "2e2a51", + "529cad": "a278b0", + "7ba5bd": "494162", + "ad6b29": "9e907e", + "b5d6ef": "605375", + "e6a563": "f5f3e9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/555.json b/public/images/pokemon/variant/back/555.json new file mode 100644 index 00000000000..b83ca9fb88b --- /dev/null +++ b/public/images/pokemon/variant/back/555.json @@ -0,0 +1,30 @@ +{ + "1": { + "101010": "101010", + "523a21": "a65f33", + "631919": "222675", + "6b5a10": "b04a21", + "8c1929": "2d3685", + "ad2119": "3a4c94", + "b57b4a": "d9a455", + "bd0000": "cfc191", + "bd9429": "c26932", + "ef1010": "e3e2ba", + "efa56b": "e8cd7b", + "efce10": "d9944a" + }, + "2": { + "101010": "101010", + "523a21": "291b19", + "631919": "a86722", + "6b5a10": "941c32", + "8c1929": "d6993e", + "ad2119": "e8ca5d", + "b57b4a": "4a3021", + "bd0000": "bab5a6", + "bd9429": "ba343d", + "ef1010": "f5f3e9", + "efa56b": "614b38", + "efce10": "d14949" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/566.json b/public/images/pokemon/variant/back/566.json new file mode 100644 index 00000000000..cb2601d4a93 --- /dev/null +++ b/public/images/pokemon/variant/back/566.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "10316b": "1c4943", + "31529c": "336d60", + "3184f7": "4f9279", + "3a3a3a": "3a3a3a", + "523131": "641b49", + "524229": "2f6934", + "944242": "aa3c79", + "9c9cad": "9c9cad", + "bd9452": "66b562", + "de524a": "eb7fae", + "e6e6e6": "e6e6e6", + "f7ce63": "9be08b" + }, + "2": { + "101010": "101010", + "10316b": "283957", + "31529c": "929bdf", + "3184f7": "c4d3ff", + "3a3a3a": "3a3a3a", + "523131": "284452", + "524229": "211f69", + "944242": "44988f", + "9c9cad": "9c9cad", + "bd9452": "3b4bad", + "de524a": "65cda4", + "e6e6e6": "e6e6e6", + "f7ce63": "557ecd" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/567.json b/public/images/pokemon/variant/back/567.json new file mode 100644 index 00000000000..f4bb6a76111 --- /dev/null +++ b/public/images/pokemon/variant/back/567.json @@ -0,0 +1,37 @@ +{ + "1": { + "101010": "101010", + "523131": "454f52", + "635229": "2f6934", + "10316b": "1c4943", + "086b5a": "b3296b", + "9c4a4a": "7b8687", + "844252": "844252", + "de524a": "abb3b3", + "bd9452": "66b562", + "f7ce63": "9be08b", + "31529c": "336d60", + "10a594": "ee609d", + "3184f7": "4f9279", + "9c9cad": "9c9cad", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "523131": "284452", + "635229": "211f69", + "10316b": "283957", + "086b5a": "462d7e", + "9c4a4a": "44988f", + "844252": "844252", + "de524a": "65cda4", + "bd9452": "3b4bad", + "f7ce63": "557ecd", + "31529c": "929bdf", + "10a594": "7346a1", + "3184f7": "c4d3ff", + "9c9cad": "9c9cad", + "ffffff": "ffffff" + + } +} diff --git a/public/images/pokemon/variant/back/572.json b/public/images/pokemon/variant/back/572.json index e305e231ec0..5e74f55850d 100644 --- a/public/images/pokemon/variant/back/572.json +++ b/public/images/pokemon/variant/back/572.json @@ -1,18 +1,20 @@ { "1": { - "8c847b": "b2af6e", - "524a42": "524a42", - "ffffff": "feffd9", - "decec5": "decec5", - "bdb5a5": "dad7a1", - "101010": "101010" + "ffffff": "b3e8ba", + "4d473d": "802b50", + "524940": "428066", + "decec5": "87cc9a", + "bdb5a5": "cf6b77", + "918a83": "60a37b", + "8c847b": "b34967" }, "2": { - "8c847b": "86aaa7", - "524a42": "5f807e", - "ffffff": "ffffff", - "decec5": "d7e8e6", - "bdb5a5": "aec8c6", - "101010": "101010" + "ffffff": "d9e3aa", + "4d473d": "101931", + "524940": "466336", + "decec5": "7f915e", + "bdb5a5": "294a6b", + "918a83": "67824d", + "8c847b": "193457" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/back/573.json b/public/images/pokemon/variant/back/573.json new file mode 100644 index 00000000000..d3ceaf257b4 --- /dev/null +++ b/public/images/pokemon/variant/back/573.json @@ -0,0 +1,24 @@ +{ + "1": { + "524a42": "802b50", + "bdb5b5": "60a67c", + "847b73": "b34967", + "ffffff": "b3e8ba", + "bdad9c": "cf6b77", + "decec5": "87cc9a", + "d65252": "256145", + "807871": "458766", + "ef8484": "58a672" + }, + "2": { + "524a42": "101931", + "bdb5b5": "597041", + "847b73": "193457", + "ffffff": "d9e3aa", + "bdad9c": "294a6b", + "decec5": "7f915e", + "d65252": "558f45", + "807871": "3d542d", + "ef8484": "b4cf88" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/626.json b/public/images/pokemon/variant/back/626.json new file mode 100644 index 00000000000..3a709763542 --- /dev/null +++ b/public/images/pokemon/variant/back/626.json @@ -0,0 +1,46 @@ +{ + "1": { + "101010": "101010", + "312921": "303120", + "36363c": "362126", + "4a3119": "122119", + "4a4131": "4a4831", + "6b4a29": "2d4a3a", + "6b4a2a": "5f3539", + "6e4c2a": "565796", + "3a3a42": "4d150f", + "6b6b73": "802d1f", + "946a31": "4d6650", + "946a33": "513236", + "9a6f33": "716fab", + "ad8c29": "8580c4", + "9c845a": "9e655c", + "9c845c": "9e655c", + "bda57b": "bd8c7b", + "ffc54a": "c0b5eb", + "9ca5a5": "a34933", + "f7d69c": "f38d5d" + }, + "2": { + "101010": "101010", + "312921": "962430", + "36363c": "905932", + "4a3119": "855168", + "4a4131": "cc4545", + "6b4a29": "c17c95", + "6b4a2a": "907d32", + "6e4c2a": "678db8", + "3a3a42": "7f5310", + "6b6b73": "d49612", + "946a31": "e4b3b3", + "946a33": "946a33", + "9a6f33": "7da2c5", + "ad8c29": "92bcd4", + "9c845a": "beab6c", + "9c845c": "db9a39", + "bda57b": "efeac2", + "ffc54a": "c2e5f0", + "9ca5a5": "e9ca5a", + "f7d69c": "f5cc51" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/643.json b/public/images/pokemon/variant/back/643.json new file mode 100644 index 00000000000..08e6a2dd694 --- /dev/null +++ b/public/images/pokemon/variant/back/643.json @@ -0,0 +1,50 @@ +{ + "1": { + "196ba5": "e0912f", + "857c9c": "3c4154", + "54517a": "232738", + "c2c1db": "e6e7ef", + "fffffa": "fffffc", + "767ca8": "97a5b0", + "4a4a6b": "0d0d1a", + "504f75": "a58419", + "c3c1e0": "f0edc2", + "ffa531": "fcfade", + "767da3": "d6c563", + "d3d3e0": "2f3247", + "fff5f9": "565a69", + "c1c1d6": "454959", + "cacadb": "bfbfd6", + "ff6331": "ffee6b", + "d6c5b5": "f2f2d8", + "757d9e": "212236", + "e6b573": "f2ecaa", + "565280": "596675", + "ffffff": "414659", + "de2908": "ffca0a" + }, + "2": { + "196ba5": "b33a68", + "857c9c": "3c50a1", + "54517a": "2d3984", + "c2c1db": "343d8e", + "fffffa": "4459a2", + "767ca8": "2b2871", + "4a4a6b": "2d3984", + "504f75": "19323c", + "c3c1e0": "4f9290", + "ffa531": "e2f9b5", + "767da3": "3a6d71", + "d3d3e0": "647bd9", + "fff5f9": "a9bbff", + "c1c1d6": "647bd9", + "cacadb": "ffffff", + "ff6331": "9df377", + "d6c5b5": "3d8073", + "757d9e": "3c50a1", + "e6b573": "4ba789", + "565280": "19143f", + "ffffff": "a9bbff", + "de2908": "5cdca6" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/644.json b/public/images/pokemon/variant/back/644.json new file mode 100644 index 00000000000..01475c838c7 --- /dev/null +++ b/public/images/pokemon/variant/back/644.json @@ -0,0 +1,44 @@ +{ + "1": { + "1a1a21": "705ba8", + "2c2c35": "c1c8e8", + "103a52": "251076", + "191921": "686c99", + "16161d": "7687c2", + "6bf7ff": "dbbaff", + "00c5ff": "b77dff", + "0f0d13": "49568f", + "006bbd": "4800e3", + "121212": "54428f", + "940000": "762fcc", + "52525a": "7175a3", + "ce0000": "a44bf2", + "31313a": "cfd0e6", + "08528c": "3b1899", + "004275": "8742ff", + "111111": "5b5f8c", + "009cde": "7626ff", + "212129": "9b9fc4" + }, + "2": { + "1a1a21": "350707", + "2c2c35": "884290", + "103a52": "671212", + "191921": "843172", + "16161d": "5e286f", + "6bf7ff": "f5e5da", + "00c5ff": "f5b698", + "0f0d13": "3b1a4c", + "006bbd": "c8433a", + "121212": "210214", + "940000": "cc8215", + "52525a": "ffc5d1", + "ce0000": "f3d32c", + "31313a": "ef9dae", + "08528c": "821b1b", + "004275": "821b1b", + "111111": "4a1a4c", + "009cde": "ef806b", + "212129": "ca6c94" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/646-black.json b/public/images/pokemon/variant/back/646-black.json new file mode 100644 index 00000000000..28baffd5690 --- /dev/null +++ b/public/images/pokemon/variant/back/646-black.json @@ -0,0 +1,49 @@ +{ + "1": { + "ebebe8": "edc9ff", + "6b8c7b": "2b4366", + "7b6b5a": "5482b0", + "315a42": "1a2b4d", + "292930": "9b9bc2", + "31313a": "c8c9e0", + "e6e6de": "e6a18a", + "006b94": "4c13a1", + "23232b": "1c1c24", + "191921": "6a6a94", + "addec5": "426585", + "b59400": "b35a3e", + "355e45": "484873", + "2c2c36": "15213b", + "00b5ff": "a033ff", + "ffff4a": "db966b", + "524a31": "112240", + "b6e3c7": "bb8ae3", + "004b6f": "2f0e75", + "1e1e26": "1b1b24", + "719180": "905dcf", + "ada584": "78a9cc" + }, + "2": { + "ebebe8": "ffc5d1", + "6b8c7b": "be6e34", + "7b6b5a": "982222", + "315a42": "7b2d25", + "292930": "6c245b", + "31313a": "913a7d", + "006b94": "6b3773", + "23232b": "2b050a", + "191921": "3d0d38", + "addec5": "e6b45b", + "b59400": "166a2d", + "355e45": "ca6c94", + "2c2c36": "480b0b", + "00b5ff": "b464bf", + "ffff4a": "6ae649", + "524a31": "550f0f", + "b6e3c7": "ffadbe", + "004b6f": "411d46", + "1e1e26": "7b2d25", + "719180": "ea93a5", + "ada584": "c23232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/646-white.json b/public/images/pokemon/variant/back/646-white.json new file mode 100644 index 00000000000..b2951e6fc38 --- /dev/null +++ b/public/images/pokemon/variant/back/646-white.json @@ -0,0 +1,46 @@ +{ + "1": { + "101010": "101010", + "741a18": "7a3418", + "4a4a29": "2a446b", + "4c4a2c": "0d0d1a", + "4a4a2d": "0d1030", + "315a42": "172247", + "7b7b5a": "779fbf", + "73737b": "120e1f", + "942921": "d49748", + "e64a42": "ffe587", + "6b8c7b": "2e466b", + "cc9827": "cc9827", + "ffde3a": "f0d897", + "ffad63": "fff7c4", + "ada584": "b7dbeb", + "bdbdc5": "232538", + "addec5": "45678a", + "e6e8f2": "414659", + "f5f5fa": "f5f5fa", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "741a18": "1f504d", + "4a4a29": "550f0f", + "4c4a2c": "1f1544", + "4a4a2d": "7b2d25", + "315a42": "7b2d25", + "7b7b5a": "982222", + "73737b": "2b2871", + "942921": "3d8073", + "e64a42": "4ba789", + "6b8c7b": "be6e34", + "cc9827": "166a2d", + "ffde3a": "9df377", + "ffad63": "5cdca6", + "ada584": "c23232", + "bdbdc5": "3d458f", + "addec5": "e6b45b", + "e6e8f2": "5870c4", + "f5f5fa": "f5f5fa", + "ffffff": "e2f9b5" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/646.json b/public/images/pokemon/variant/back/646.json new file mode 100644 index 00000000000..c509a0cda9c --- /dev/null +++ b/public/images/pokemon/variant/back/646.json @@ -0,0 +1,33 @@ +{ + "1": { + "8c7329": "b35a3e", + "949cad": "a6cfe0", + "6d737b": "a55c39", + "103a52": "121836", + "ffe600": "db966b", + "73737b": "6394b0", + "bde6ff": "3c5878", + "424252": "3d6285", + "696973": "6394b0", + "ceb500": "c46f52", + "a5b5ce": "293c5e", + "3b3b4a": "3d6285", + "6b8494": "1a2647" + }, + "2": { + "8c7329": "166a2d", + "949cad": "c23232", + "6d737b": "1a791b", + "103a52": "7b2d25", + "ffe600": "6ae649", + "73737b": "982222", + "bde6ff": "e6b45b", + "424252": "550f0f", + "696973": "736969", + "ceb500": "2aac2b", + "def7ff": "f7ec88", + "a5b5ce": "be6e34", + "3b3b4a": "4a3b3b", + "6b8494": "974626" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/692.json b/public/images/pokemon/variant/back/692.json new file mode 100644 index 00000000000..d4c85f37c9d --- /dev/null +++ b/public/images/pokemon/variant/back/692.json @@ -0,0 +1,28 @@ +{ + "1": { + "337380": "783a1d", + "b3b3b3": "c8ba6d", + "595959": "c85b5b", + "61daf2": "e1ac53", + "cc9c3d": "53be53", + "404040": "7d182d", + "ffc44c": "a9f076", + "b2f2ff": "fada7f", + "47a1b3": "af6a37", + "101010": "070707", + "735822": "20734c" + }, + "2": { + "337380": "5f3c23", + "b3b3b3": "68a7aa", + "595959": "88cd56", + "61daf2": "e1d6b6", + "cc9c3d": "7743be", + "404040": "1c873e", + "ffc44c": "a36feb", + "b2f2ff": "faf8d7", + "47a1b3": "968144", + "101010": "070707", + "735822": "371c72" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/693.json b/public/images/pokemon/variant/back/693.json new file mode 100644 index 00000000000..3187a81e0c0 --- /dev/null +++ b/public/images/pokemon/variant/back/693.json @@ -0,0 +1,28 @@ +{ + "1": { + "224b73": "552813", + "4595e5": "aa6839", + "23a2c8": "c87a23", + "262626": "230808", + "cc9c3d": "1b3c17", + "404040": "3c171b", + "5f5f5f": "6e2e3b", + "61daf2": "f2bd61", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "735822": "08230e" + }, + "2": { + "224b73": "5f463a", + "4595e5": "c8b493", + "23a2c8": "beb099", + "262626": "295a1c", + "cc9c3d": "6259af", + "404040": "2a8c53", + "5f5f5f": "51c85d", + "61daf2": "f0eadb", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "735822": "36235f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/746-school.json b/public/images/pokemon/variant/back/746-school.json new file mode 100644 index 00000000000..d8fa61a3829 --- /dev/null +++ b/public/images/pokemon/variant/back/746-school.json @@ -0,0 +1,38 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "123954": "75391b", + "134884": "935926", + "134d84": "16574d", + "1766c6": "b77736", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "73dcf5": "27133f", + "73e5f5": "552b64", + "72f0f6": "824388", + "9cd3fd": "aafe94", + "a6c5f7": "78f389", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "0f0523", + "123954": "28071a", + "134884": "350b19", + "134d84": "b7904d", + "1766c6": "4a1111", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "73dcf5": "31238e", + "73e5f5": "3a4ebd", + "72f0f6": "6492f7", + "9cd3fd": "fefeef", + "a6c5f7": "fefed9", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/746.json b/public/images/pokemon/variant/back/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/back/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/780.json b/public/images/pokemon/variant/back/780.json new file mode 100644 index 00000000000..f55158dcabb --- /dev/null +++ b/public/images/pokemon/variant/back/780.json @@ -0,0 +1,28 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "5aa4a4": "284c80", + "f5ae07": "faf0b1", + "606f55": "496375", + "726d5c": "a36026", + "105262": "0e194a", + "b8b7a3": "cf8d38", + "b4cda4": "9ab5b8", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "5aa4a4": "6a708a", + "f5ae07": "3ec435", + "606f55": "8f825d", + "726d5c": "162d3d", + "105262": "3f3c61", + "b8b7a3": "254e59", + "b4cda4": "d6dbba", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/782.json b/public/images/pokemon/variant/back/782.json new file mode 100644 index 00000000000..f2bc20ecfba --- /dev/null +++ b/public/images/pokemon/variant/back/782.json @@ -0,0 +1,30 @@ +{ + "1": { + "f13035": "48bd8c", + "f8f236": "e77b57", + "504e4b": "472d1d", + "aba5ad": "336340", + "7b766f": "a67e5b", + "fdfdfd": "fcf2ca", + "726475": "214a33", + "bec6cb": "e8cea0", + "957509": "a63424", + "dbdbdb": "4e8759", + "940a0d": "258067", + "4d4b48": "8a5b41" + }, + "2": { + "f13035": "b8c0fc", + "f8f236": "52d9ac", + "504e4b": "273959", + "aba5ad": "5e3e75", + "7b766f": "8ab7cf", + "fdfdfd": "d5f4f7", + "726475": "412959", + "bec6cb": "b7ddeb", + "957509": "258085", + "dbdbdb": "855d99", + "940a0d": "636a94", + "4d4b48": "567496" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/783.json b/public/images/pokemon/variant/back/783.json new file mode 100644 index 00000000000..d91ccb51133 --- /dev/null +++ b/public/images/pokemon/variant/back/783.json @@ -0,0 +1,32 @@ +{ + "1": { + "f13035": "48bd8c", + "6c6968": "472d1d", + "97938c": "2a573e", + "957509": "a63424", + "fff5ae": "f7c4b5", + "4d4644": "2b130b", + "fdfdfd": "fcf2ca", + "6b6968": "8a5b41", + "940a0d": "258067", + "c2c1c0": "42754f", + "d7aa22": "c25236", + "69625c": "133027", + "f4da42": "e77b57" + }, + "2": { + "f13035": "d9ddfc", + "6c6968": "2e4266", + "97938c": "543666", + "957509": "258085", + "fff5ae": "baf7dc", + "4d4644": "151e38", + "fdfdfd": "d5f4f7", + "6b6968": "567496", + "940a0d": "636a94", + "c2c1c0": "744e87", + "d7aa22": "37ad94", + "69625c": "2d1c3d", + "f4da42": "52d9ac" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/784.json b/public/images/pokemon/variant/back/784.json new file mode 100644 index 00000000000..74a18ff0d3d --- /dev/null +++ b/public/images/pokemon/variant/back/784.json @@ -0,0 +1,42 @@ +{ + "1": { + "c99f21": "bf5841", + "2d2b28": "2b130b", + "d0d2d5": "77a353", + "a8a4a0": "517d37", + "fafafa": "fcf2ca", + "d4d6d9": "e8cea0", + "4a4743": "8a5b41", + "f4da42": "e77b57", + "f13035": "48bd8c", + "cb0e12": "258067", + "4d4040": "123028", + "a7a29e": "336142", + "523e41": "447835", + "885902": "87281b", + "9d6702": "993d26", + "7e7572": "204736", + "fdfdfd": "bbd477", + "4b4845": "472d1d" + }, + "2": { + "c99f21": "3aba9c", + "2d2b28": "151e38", + "d0d2d5": "7ec2cc", + "a8a4a0": "558ea3", + "fafafa": "d5f4f7", + "d4d6d9": "b7ddeb", + "4a4743": "567496", + "f4da42": "2a918e", + "f13035": "d9ddfc", + "cb0e12": "636a94", + "4d4040": "2d1840", + "a7a29e": "6c457a", + "523e41": "558fa6", + "885902": "1f6b6e", + "9d6702": "37ad94", + "7e7572": "4e2e61", + "fdfdfd": "adedf0", + "4b4845": "2e4266" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/840.json b/public/images/pokemon/variant/back/840.json new file mode 100644 index 00000000000..3129592abb3 --- /dev/null +++ b/public/images/pokemon/variant/back/840.json @@ -0,0 +1,28 @@ +{ + "1": { + "e2244a": "70a2c5", + "5fab1d": "7a7c9e", + "d39a52": "a22f76", + "e32b50": "4e77a2", + "fe455c": "abd7e2", + "fa6f8b": "c1f3f3", + "a4d84a": "9aa0b3", + "357912": "48485d", + "d3ee77": "d2d8df", + "8d4229": "741163", + "a50534": "3e6085" + }, + "2": { + "e2244a": "bfb5ab", + "5fab1d": "993c63", + "d39a52": "463731", + "e32b50": "807770", + "fe455c": "dcd9d1", + "fa6f8b": "eeedea", + "a4d84a": "c76886", + "357912": "6b2041", + "d3ee77": "e28c95", + "8d4229": "291411", + "a50534": "68645f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/841-gigantamax.json b/public/images/pokemon/variant/back/841-gigantamax.json new file mode 100644 index 00000000000..6526fec9b4d --- /dev/null +++ b/public/images/pokemon/variant/back/841-gigantamax.json @@ -0,0 +1,36 @@ +{ + "1": { + "39a43d": "9aa0b3", + "d2394d": "abd7e2", + "61112d": "2c255d", + "a63139": "70a2c5", + "d54456": "8666ae", + "427638": "7a7c9e", + "c68a48": "9c2e72", + "8d4229": "272a52", + "eec856": "397880", + "cb8a42": "2b526f", + "b3ac62": "a3b9d0", + "dad08b": "dcebf9", + "2c4828": "243c63", + "e9c558": "c55885", + "772628": "1e1a4a" + }, + "2": { + "39a43d": "e28c95", + "d2394d": "dcd9d1", + "61112d": "3a2222", + "a63139": "bfb5ab", + "d54456": "915a41", + "427638": "b04f6d", + "c68a48": "2a1310", + "8d4229": "79392f", + "eec856": "eee0bc", + "cb8a42": "d1a87e", + "b3ac62": "cbb4af", + "dad08b": "e2dcd6", + "2c4828": "2e2246", + "e9c558": "463731", + "772628": "4f4840" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/841.json b/public/images/pokemon/variant/back/841.json new file mode 100644 index 00000000000..8cccd7dd76b --- /dev/null +++ b/public/images/pokemon/variant/back/841.json @@ -0,0 +1,34 @@ +{ + "1": { + "df6655": "c1f3f3", + "56ab32": "a59ab3", + "9b2629": "70a2c5", + "488235": "8e7a9e", + "ebe381": "854774", + "ccb468": "5d2654", + "ccca71": "cbb4af", + "8d764b": "110723", + "612324": "3e6085", + "da5245": "c55885", + "c3a965": "e2dcd6", + "b5915b": "34123a", + "d72d31": "abd7e2", + "395a2e": "383146" + }, + "2": { + "df6655": "e2dcd6", + "56ab32": "e28c95", + "9b2629": "bfb5ab", + "488235": "a8546e", + "ebe381": "be7b53", + "ccb468": "743527", + "ccca71": "cbb4af", + "8d764b": "230313", + "612324": "68645f", + "da5245": "463731", + "c3a965": "e2dcd6", + "b5915b": "541711", + "d72d31": "dcd9d1", + "395a2e": "4f0e30" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/842-gigantamax.json b/public/images/pokemon/variant/back/842-gigantamax.json new file mode 100644 index 00000000000..6526fec9b4d --- /dev/null +++ b/public/images/pokemon/variant/back/842-gigantamax.json @@ -0,0 +1,36 @@ +{ + "1": { + "39a43d": "9aa0b3", + "d2394d": "abd7e2", + "61112d": "2c255d", + "a63139": "70a2c5", + "d54456": "8666ae", + "427638": "7a7c9e", + "c68a48": "9c2e72", + "8d4229": "272a52", + "eec856": "397880", + "cb8a42": "2b526f", + "b3ac62": "a3b9d0", + "dad08b": "dcebf9", + "2c4828": "243c63", + "e9c558": "c55885", + "772628": "1e1a4a" + }, + "2": { + "39a43d": "e28c95", + "d2394d": "dcd9d1", + "61112d": "3a2222", + "a63139": "bfb5ab", + "d54456": "915a41", + "427638": "b04f6d", + "c68a48": "2a1310", + "8d4229": "79392f", + "eec856": "eee0bc", + "cb8a42": "d1a87e", + "b3ac62": "cbb4af", + "dad08b": "e2dcd6", + "2c4828": "2e2246", + "e9c558": "463731", + "772628": "4f4840" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/842.json b/public/images/pokemon/variant/back/842.json new file mode 100644 index 00000000000..3fdccc629c8 --- /dev/null +++ b/public/images/pokemon/variant/back/842.json @@ -0,0 +1,36 @@ +{ + "1": { + "39a45f": "9aa0b3", + "ffcd88": "698db4", + "621522": "3e6085", + "9f7034": "110723", + "f9be6b": "a3b9d0", + "fcff86": "397880", + "2c743e": "7a7c9e", + "af2348": "70a2c5", + "1f4329": "313846", + "ffc575": "2b526f", + "ffa63b": "2d3d68", + "275734": "852560", + "e78422": "1f1946", + "e75574": "abd7e2", + "7de755": "d66f9a" + }, + "2": { + "39a45f": "e28c95", + "ffcd88": "b9937a", + "621522": "68645f", + "9f7034": "2e0e09", + "f9be6b": "cbb4af", + "fcff86": "eee0bc", + "2c743e": "a8546e", + "af2348": "bfb5ab", + "1f4329": "341c1c", + "ffc575": "d1a87e", + "ffa63b": "63473b", + "275734": "2e2246", + "e78422": "4b211b", + "e75574": "dcd9d1", + "7de755": "589df3" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/871.json b/public/images/pokemon/variant/back/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/back/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/88.json b/public/images/pokemon/variant/back/88.json new file mode 100644 index 00000000000..61b7ca3b802 --- /dev/null +++ b/public/images/pokemon/variant/back/88.json @@ -0,0 +1,28 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/89.json b/public/images/pokemon/variant/back/89.json new file mode 100644 index 00000000000..eda3558d7c2 --- /dev/null +++ b/public/images/pokemon/variant/back/89.json @@ -0,0 +1,30 @@ +{ + "1": { + "101010": "101010", + "424a5a": "5b3a1d", + "5a3173": "6a010c", + "848c9c": "9b7c48", + "944a9c": "b1160e", + "adb5bd": "e9de8c", + "bd7bbd": "d55021", + "ce8cc5": "e98a47", + "d6d6de": "ded7ce", + "ffffff": "ffffff", + "efade6": "f8be70", + "ad63ad": "c63a17" + }, + "2": { + "101010": "101010", + "424a5a": "2d7351", + "5a3173": "a21851", + "848c9c": "69b17b", + "944a9c": "d04569", + "adb5bd": "b0e4a9", + "bd7bbd": "ed8ea2", + "ce8cc5": "f4bfbf", + "d6d6de": "d6d6de", + "ffffff": "ffffff", + "efade6": "f8d8cf", + "ad63ad": "e5728a" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/207.json b/public/images/pokemon/variant/back/female/207.json index 52c582cf1a8..89ed15e95c5 100644 --- a/public/images/pokemon/variant/back/female/207.json +++ b/public/images/pokemon/variant/back/female/207.json @@ -1,16 +1,14 @@ { "1": { - "63314a": "7f4812", - "e6a5ce": "f8dd84", - "de84b5": "daa93f", - "101010": "101010", - "ad6394": "b67322" + "de84b5": "e3784d", + "e6a5ce": "f7a565", + "63314a": "802019", + "ad6394": "ba4732" }, "2": { - "63314a": "5f1723", - "e6a5ce": "ef6b58", - "de84b5": "c04144", - "101010": "101010", - "ad6394": "97343c" + "de84b5": "42bca0", + "e6a5ce": "70e0b7", + "63314a": "134e5e", + "ad6394": "27868a" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/332.json b/public/images/pokemon/variant/back/female/332.json new file mode 100644 index 00000000000..9ec50cb7e92 --- /dev/null +++ b/public/images/pokemon/variant/back/female/332.json @@ -0,0 +1,28 @@ +{ + "1": { + "319452": "780d4a", + "4aa552": "8a1652", + "7ba563": "b44040", + "8cbd63": "bf3d64", + "215200": "710f2f", + "196b21": "780d4a", + "a5d674": "de5b6f", + "4a7310": "982443", + "a5d673": "e16363", + "63b56b": "9e2056", + "215201": "710f2e" + }, + "2": { + "319452": "b59c72", + "4aa552": "c9b991", + "7ba563": "805a9c", + "8cbd63": "ebe9ca", + "215200": "41334d", + "196b21": "b59c72", + "a5d674": "f6f7df", + "4a7310": "4f3956", + "a5d673": "a473ba", + "63b56b": "e3ddb8", + "215201": "694d37" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/396.json b/public/images/pokemon/variant/back/female/396.json new file mode 100644 index 00000000000..429adbc8791 --- /dev/null +++ b/public/images/pokemon/variant/back/female/396.json @@ -0,0 +1,36 @@ +{ + "1": { + "d6dede": "e3d09d", + "949494": "dbb070", + "736363": "89ad57", + "ffffff": "f0ecd3", + "382028": "731e22", + "d67300": "db963b", + "b5b5b5": "d4b27f", + "808080": "c48c51", + "9c4a21": "b06421", + "8c7373": "b53f36", + "3a2129": "2a4f19", + "524a4a": "558033", + "4f4747": "144a40", + "ad9c9c": "ed7b61", + "ff9429": "ffcf5e" + }, + "2": { + "d6dede": "f0deaa", + "949494": "cca472", + "736363": "4da8a1", + "ffffff": "fcfad2", + "382028": "0d142e", + "d67300": "52281f", + "b5b5b5": "debd8c", + "808080": "bf8d62", + "9c4a21": "451915", + "8c7373": "1b2745", + "3a2129": "235a6b", + "524a4a": "307b82", + "4f4747": "e0703d", + "ad9c9c": "2f436b", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/397.json b/public/images/pokemon/variant/back/female/397.json new file mode 100644 index 00000000000..0eef3be33d9 --- /dev/null +++ b/public/images/pokemon/variant/back/female/397.json @@ -0,0 +1,36 @@ +{ + "1": { + "735a63": "b53f36", + "574f57": "144a40", + "5a525a": "739e49", + "f75242": "8bba65", + "878787": "baa277", + "b5b5b5": "d9c798", + "ff9429": "ffcf5e", + "382f38": "0c3330", + "3a313a": "496e2e", + "362d36": "612e10", + "fcfcfc": "f0ebc5", + "bd6300": "b06421", + "7b4221": "965318", + "523a4a": "731e22", + "9c848c": "ed7b61" + }, + "2": { + "735a63": "1b2745", + "574f57": "e0703d", + "5a525a": "4da8a1", + "f75242": "f797ad", + "878787": "d4b885", + "b5b5b5": "f0deaa", + "ff9429": "8c604c", + "382f38": "b04a28", + "3a313a": "307b82", + "362d36": "421917", + "fcfcfc": "fcfad2", + "bd6300": "66362b", + "7b4221": "52281f", + "523a4a": "0d142e", + "9c848c": "2f436b" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/398.json b/public/images/pokemon/variant/back/female/398.json new file mode 100644 index 00000000000..0c987cf37b0 --- /dev/null +++ b/public/images/pokemon/variant/back/female/398.json @@ -0,0 +1,36 @@ +{ + "1": { + "9c4242": "09302d", + "5c545c": "144a40", + "3a313a": "0d3236", + "7b4221": "965318", + "bd6300": "db963b", + "5a525a": "558033", + "7b6b7b": "89ad57", + "f75242": "144a40", + "735a63": "d94f45", + "ffffff": "e8e3b6", + "523a4a": "872328", + "3a3a3a": "2a4f19", + "b5b5b5": "d7be89", + "9c848c": "ed7b61", + "ff9429": "ffcf5e" + }, + "2": { + "9c4242": "c94a2a", + "5c545c": "e0703d", + "3a313a": "a64221", + "7b4221": "421917", + "bd6300": "63362b", + "5a525a": "307b82", + "7b6b7b": "4da8a1", + "f75242": "f78a4a", + "735a63": "1b2745", + "ffffff": "fcfad2", + "523a4a": "080d1f", + "3a3a3a": "235a6b", + "b5b5b5": "f0deaa", + "9c848c": "293854", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/403.json b/public/images/pokemon/variant/back/female/403.json new file mode 100644 index 00000000000..4eb1da93a49 --- /dev/null +++ b/public/images/pokemon/variant/back/female/403.json @@ -0,0 +1,22 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "42426b": "63121d", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "42426b": "161b36", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/404.json b/public/images/pokemon/variant/back/female/404.json new file mode 100644 index 00000000000..1ebec7af6be --- /dev/null +++ b/public/images/pokemon/variant/back/female/404.json @@ -0,0 +1,24 @@ +{ + "1": { + "736352": "234085", + "4a4a73": "63121d", + "63637b": "f1dbb1", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "b59c5a": "3763b8", + "7badf7": "bf403a" + }, + "2": { + "736352": "298e7d", + "4a4a73": "161b36", + "63637b": "def4f0", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "b59c5a": "36b88a", + "7badf7": "324663" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/405.json b/public/images/pokemon/variant/back/female/405.json new file mode 100644 index 00000000000..c70567e0728 --- /dev/null +++ b/public/images/pokemon/variant/back/female/405.json @@ -0,0 +1,30 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "63637b": "f1dbb1", + "3a3859": "430917", + "637bb5": "962a2f", + "4a4a73": "63121d", + "4a4a63": "dcb488", + "ffe65a": "4881cc", + "313142": "bd7e54", + "943a52": "5a2d0f", + "e64a52": "3e2711", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "63637b": "def4f0", + "3a3859": "0f0f26", + "637bb5": "222f4d", + "4a4a73": "161b36", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "943a52": "3a5e80", + "e64a52": "4a7c92", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/female/417.json b/public/images/pokemon/variant/back/female/417.json new file mode 100644 index 00000000000..42b3180ee3c --- /dev/null +++ b/public/images/pokemon/variant/back/female/417.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3e364e": "734430", + "524941": "732e12", + "5a524a": "642f1a", + "4a425a": "5f2618", + "84523a": "9b314f", + "ef845a": "e26e6e", + "c5a563": "e95d6c", + "ffd663": "f17c7c", + "637b9c": "86452b", + "7bb5e6": "a25f37", + "cec5c5": "e8be64", + "f7f7f7": "faeda9", + "ffffff": "ffffff", + "7b7b84": "8e623c" + }, + "2": { + "101010": "101010", + "3e364e": "203243", + "524941": "2d284c", + "5a524a": "0f203a", + "4a425a": "23704c", + "84523a": "693939", + "ef845a": "e1b8ac", + "c5a563": "8fecf7", + "ffd663": "d0fdff", + "637b9c": "a2dc76", + "7bb5e6": "e4fba1", + "cec5c5": "357577", + "f7f7f7": "5ba297", + "ffffff": "ffffff", + "7b7b84": "1f3f4e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/2037.json b/public/images/pokemon/variant/exp/2037.json new file mode 100644 index 00000000000..2c190d5d36a --- /dev/null +++ b/public/images/pokemon/variant/exp/2037.json @@ -0,0 +1,26 @@ +{ + "1": { + "151515": "101010", + "2d57bb": "235dc4", + "558b9f": "9f435d", + "648082": "6e67b0", + "6cb1db": "3daae0", + "97bdd2": "ffa8b8", + "c1d1d2": "b3b8ea", + "d9e9f4": "ffd3e1", + "fdfdfd": "d7d9f9", + "ffffff": "ffffff" + }, + "2": { + "151515": "101010", + "2d57bb": "6e1179", + "558b9f": "90215e", + "648082": "bf4747", + "6cb1db": "8832a0", + "97bdd2": "da4e75", + "c1d1d2": "ffc07b", + "d9e9f4": "ff8489", + "fdfdfd": "ffe6a0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/2038.json b/public/images/pokemon/variant/exp/2038.json new file mode 100644 index 00000000000..845c45f7887 --- /dev/null +++ b/public/images/pokemon/variant/exp/2038.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4d5c78": "394880", + "516077": "9f435d", + "007ab5": "2380c4", + "38858d": "e35ea2", + "7a8a9c": "6172ab", + "66b3d7": "3dbfe0", + "86a8c0": "e27495", + "81c2c5": "ff89c0", + "bdcbd7": "a7ade7", + "a1e1de": "ffb6e5", + "b0d3ea": "ffa8b8", + "eafefe": "ffd3e1", + "fdfdfd": "bec6ef", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "4d5c78": "73174a", + "516077": "bb3c3c", + "007ab5": "882493", + "38858d": "572746", + "7a8a9c": "90215e", + "66b3d7": "a044ab", + "86a8c0": "ff824c", + "81c2c5": "75355e", + "bdcbd7": "da426d", + "a1e1de": "93547c", + "b0d3ea": "ffbf6b", + "eafefe": "ffe28c", + "fdfdfd": "ff6f86", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/692.json b/public/images/pokemon/variant/exp/692.json new file mode 100644 index 00000000000..954dcffb3e9 --- /dev/null +++ b/public/images/pokemon/variant/exp/692.json @@ -0,0 +1,26 @@ +{ + "1": { + "b3f2ff": "fada7f", + "44a2b4": "af6a37", + "2f7280": "783a1d", + "cd9d3a": "53be53", + "575757": "c85b5b", + "72561c": "20734c", + "60dbf2": "e1ac53", + "b4b4b4": "c8ba6d", + "3d3d3d": "7d182d", + "ffc549": "a9f076" + }, + "2": { + "b3f2ff": "faf8d7", + "44a2b4": "968144", + "2f7280": "5f3c23", + "cd9d3a": "7743be", + "575757": "88cd56", + "72561c": "371c72", + "60dbf2": "e1d6b6", + "b4b4b4": "68a7aa", + "3d3d3d": "1c873e", + "ffc549": "a36feb" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/693.json b/public/images/pokemon/variant/exp/693.json new file mode 100644 index 00000000000..2e80795d2a0 --- /dev/null +++ b/public/images/pokemon/variant/exp/693.json @@ -0,0 +1,30 @@ +{ + "1": { + "23a2c8": "c87a23", + "ffc859": "6ccd80", + "224b73": "552813", + "404040": "3c171b", + "262626": "230808", + "5f5f5f": "6e2e3b", + "cc9c3d": "1b3c17", + "61daf2": "f2bd61", + "735822": "08230e", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "4595e5": "aa6839" + }, + "2": { + "23a2c8": "beb099", + "ffc859": "f5b281", + "224b73": "5f463a", + "404040": "2a8c53", + "262626": "295a1c", + "5f5f5f": "51c85d", + "cc9c3d": "6259af", + "61daf2": "f0eadb", + "735822": "36235f", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "4595e5": "c8b493" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/746-school.json b/public/images/pokemon/variant/exp/746-school.json new file mode 100644 index 00000000000..a76aca2921f --- /dev/null +++ b/public/images/pokemon/variant/exp/746-school.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "113650": "0b3d3a", + "123954": "75351b", + "10437d": "16574d", + "134884": "934f26", + "1766c6": "b77736", + "3d66d8": "d39c63", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "43ebf3": "824388", + "72f0f6": "27133f", + "9cd3fd": "78f389", + "a6c5f7": "aafe94", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "160523", + "113650": "846228", + "123954": "28071a", + "10437d": "b7904d", + "134884": "350b19", + "1766c6": "4a1111", + "3d66d8": "622222", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "43ebf3": "4378eb", + "72f0f6": "31238e", + "9cd3fd": "fefed9", + "a6c5f7": "fefeef", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/746.json b/public/images/pokemon/variant/exp/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/exp/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/780.json b/public/images/pokemon/variant/exp/780.json new file mode 100644 index 00000000000..0399d3567bf --- /dev/null +++ b/public/images/pokemon/variant/exp/780.json @@ -0,0 +1,40 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "606f55": "496375", + "ffc4d7": "f29d9d", + "105262": "0e194a", + "b4cda4": "9ab5b8", + "f5ae07": "e8c987", + "ce5b9b": "cf4654", + "faf550": "faf0b1", + "e67b9c": "e65757", + "bd3983": "bd3341", + "eea6bc": "f06e6e", + "5aa4a4": "284c80", + "b8b7a3": "cf8d38", + "726d5c": "a36026", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "606f55": "8f825d", + "ffc4d7": "f2e396", + "105262": "3f3c61", + "b4cda4": "d6dbba", + "f5ae07": "24ab2b", + "ce5b9b": "d9ae5d", + "faf550": "3ec435", + "e67b9c": "e3b656", + "bd3983": "c27529", + "eea6bc": "f2d98d", + "5aa4a4": "6a708a", + "b8b7a3": "254e59", + "726d5c": "162d3d", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/840.json b/public/images/pokemon/variant/exp/840.json new file mode 100644 index 00000000000..5a6a81a887e --- /dev/null +++ b/public/images/pokemon/variant/exp/840.json @@ -0,0 +1,34 @@ +{ + "1": { + "e2244a": "70a2c5", + "8d4229": "570749", + "94d84a": "fefefe", + "a4d84a": "9aa0b3", + "d39a52": "9c2e72", + "e32b50": "4e77a2", + "5fab1d": "7a7c9e", + "fe455c": "abd7e2", + "5bab1d": "acb0c3", + "247912": "48485d", + "a50534": "3e6085", + "357912": "313846", + "f2c171": "c55885", + "fa6f8b": "c1f3f3" + }, + "2": { + "e2244a": "bfb5ab", + "8d4229": "230808", + "94d84a": "589df3", + "a4d84a": "9aa0b3", + "d39a52": "291411", + "e32b50": "807770", + "5fab1d": "7a7c9e", + "fe455c": "dcd9d1", + "5bab1d": "354dbf", + "247912": "2e2246", + "a50534": "68645f", + "357912": "313846", + "f2c171": "463731", + "fa6f8b": "eeedea" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/841.json b/public/images/pokemon/variant/exp/841.json new file mode 100644 index 00000000000..aa68f322f29 --- /dev/null +++ b/public/images/pokemon/variant/exp/841.json @@ -0,0 +1,42 @@ +{ + "1": { + "101010": "101010", + "612324": "3e6085", + "395a2e": "383146", + "9b2629": "70a2c5", + "d72d31": "abd7e2", + "874c23": "453157", + "8d764b": "110723", + "d9695a": "c55885", + "488235": "8e7a9e", + "56ab32": "a59ab3", + "b08c51": "b3b1d6", + "b5915b": "34123a", + "ccb468": "5d2654", + "f1c950": "f3c5dd", + "ccca71": "e6dcf9", + "f0bda6": "c1f3f3", + "ebe381": "854774", + "fcfcfc": "fcfcfc" + }, + "2": { + "101010": "101010", + "612324": "827466", + "395a2e": "4f0e30", + "9b2629": "bfb5ab", + "d72d31": "dcd9d1", + "874c23": "2e2246", + "8d764b": "230313", + "d9695a": "463731", + "488235": "a8546e", + "56ab32": "e28c95", + "b08c51": "cbb4af", + "b5915b": "541711", + "ccb468": "8b4332", + "f1c950": "589df3", + "ccca71": "e2dcd6", + "f0bda6": "eeedea", + "ebe381": "c68862", + "fcfcfc": "fcfcfc" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/842.json b/public/images/pokemon/variant/exp/842.json new file mode 100644 index 00000000000..0629adc139a --- /dev/null +++ b/public/images/pokemon/variant/exp/842.json @@ -0,0 +1,43 @@ +{ + "1": { + "101010": "101010", + "1f4329": "313846", + "1f5829": "852560", + "2c743e": "7a7c9e", + "9f7034": "230f47", + "ac6b20": "110723", + "af2348": "67829e", + "e75574": "70a2c5", + "39a45f": "92cbd9", + "7de755": "d66f9a", + "e78422": "1f1946", + "ffa63b": "2d3d68", + "f1cf6d": "a3b9d0", + "f9d56d": "698db4", + "ffc575": "2b526f", + "f18e8e": "c1f3f3", + "fcff86": "397880", + "621522": "204063" + + }, + "2": { + "101010": "101010", + "1f4329": "511c2d", + "1f5829": "2e2246", + "2c743e": "a8546e", + "9f7034": "3a130d", + "ac6b20": "68645f", + "af2348": "bfb5ab", + "e75574": "dcd9d1", + "39a45f": "e28c95", + "7de755": "589df3", + "e78422": "4b211b", + "ffa63b": "63473b", + "f1cf6d": "cbb4af", + "f9d56d": "b9937a", + "ffc575": "d1a87e", + "f18e8e": "eeedea", + "fcff86": "eee0bc", + "621522": "68645f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/871.json b/public/images/pokemon/variant/exp/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/exp/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/2037.json b/public/images/pokemon/variant/exp/back/2037.json new file mode 100644 index 00000000000..0d2c02cf980 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/2037.json @@ -0,0 +1,22 @@ +{ + "1": { + "151515": "101010", + "558b9f": "9f435d", + "648082": "6e67b0", + "97bdd2": "ffa8b8", + "c1d1d2": "b3b8ea", + "d9e9f4": "ffd3e1", + "fdfdfd": "d7d9f9", + "ffffff": "ffffff" + }, + "2": { + "151515": "101010", + "558b9f": "90215e", + "648082": "bf4747", + "97bdd2": "da4e75", + "c1d1d2": "ffc07b", + "d9e9f4": "ff8489", + "fdfdfd": "ffe6a0", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/2038.json b/public/images/pokemon/variant/exp/back/2038.json new file mode 100644 index 00000000000..845c45f7887 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/2038.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "4d5c78": "394880", + "516077": "9f435d", + "007ab5": "2380c4", + "38858d": "e35ea2", + "7a8a9c": "6172ab", + "66b3d7": "3dbfe0", + "86a8c0": "e27495", + "81c2c5": "ff89c0", + "bdcbd7": "a7ade7", + "a1e1de": "ffb6e5", + "b0d3ea": "ffa8b8", + "eafefe": "ffd3e1", + "fdfdfd": "bec6ef", + "ffffff": "ffffff" + }, + "2": { + "101010": "101010", + "4d5c78": "73174a", + "516077": "bb3c3c", + "007ab5": "882493", + "38858d": "572746", + "7a8a9c": "90215e", + "66b3d7": "a044ab", + "86a8c0": "ff824c", + "81c2c5": "75355e", + "bdcbd7": "da426d", + "a1e1de": "93547c", + "b0d3ea": "ffbf6b", + "eafefe": "ffe28c", + "fdfdfd": "ff6f86", + "ffffff": "ffffff" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/692.json b/public/images/pokemon/variant/exp/back/692.json new file mode 100644 index 00000000000..d4c85f37c9d --- /dev/null +++ b/public/images/pokemon/variant/exp/back/692.json @@ -0,0 +1,28 @@ +{ + "1": { + "337380": "783a1d", + "b3b3b3": "c8ba6d", + "595959": "c85b5b", + "61daf2": "e1ac53", + "cc9c3d": "53be53", + "404040": "7d182d", + "ffc44c": "a9f076", + "b2f2ff": "fada7f", + "47a1b3": "af6a37", + "101010": "070707", + "735822": "20734c" + }, + "2": { + "337380": "5f3c23", + "b3b3b3": "68a7aa", + "595959": "88cd56", + "61daf2": "e1d6b6", + "cc9c3d": "7743be", + "404040": "1c873e", + "ffc44c": "a36feb", + "b2f2ff": "faf8d7", + "47a1b3": "968144", + "101010": "070707", + "735822": "371c72" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/693.json b/public/images/pokemon/variant/exp/back/693.json new file mode 100644 index 00000000000..3187a81e0c0 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/693.json @@ -0,0 +1,28 @@ +{ + "1": { + "224b73": "552813", + "4595e5": "aa6839", + "23a2c8": "c87a23", + "262626": "230808", + "cc9c3d": "1b3c17", + "404040": "3c171b", + "5f5f5f": "6e2e3b", + "61daf2": "f2bd61", + "3674b3": "7d3e21", + "ffc44c": "426e2e", + "735822": "08230e" + }, + "2": { + "224b73": "5f463a", + "4595e5": "c8b493", + "23a2c8": "beb099", + "262626": "295a1c", + "cc9c3d": "6259af", + "404040": "2a8c53", + "5f5f5f": "51c85d", + "61daf2": "f0eadb", + "3674b3": "9b8265", + "ffc44c": "a39afa", + "735822": "36235f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/746-school.json b/public/images/pokemon/variant/exp/back/746-school.json new file mode 100644 index 00000000000..d8fa61a3829 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/746-school.json @@ -0,0 +1,38 @@ +{ + "1": { + "101010": "101010", + "0a1627": "5f2112", + "123954": "75391b", + "134884": "935926", + "134d84": "16574d", + "1766c6": "b77736", + "416adf": "2c9572", + "79848a": "a67834", + "749cf6": "5ce09d", + "73dcf5": "27133f", + "73e5f5": "552b64", + "72f0f6": "824388", + "9cd3fd": "aafe94", + "a6c5f7": "78f389", + "cfd1d3": "d5ab51", + "fbfbfb": "f7d76b" + }, + "2": { + "101010": "101010", + "0a1627": "0f0523", + "123954": "28071a", + "134884": "350b19", + "134d84": "b7904d", + "1766c6": "4a1111", + "416adf": "dec284", + "79848a": "4a1111", + "749cf6": "f8ecc5", + "73dcf5": "31238e", + "73e5f5": "3a4ebd", + "72f0f6": "6492f7", + "9cd3fd": "fefeef", + "a6c5f7": "fefed9", + "cfd1d3": "5f291c", + "fbfbfb": "844232" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/746.json b/public/images/pokemon/variant/exp/back/746.json new file mode 100644 index 00000000000..5b183b10e5d --- /dev/null +++ b/public/images/pokemon/variant/exp/back/746.json @@ -0,0 +1,40 @@ +{ + "1": { + "101010": "101010", + "1f2161": "16574d", + "5d666d": "75391b", + "616b72": "a67834", + "9c455b": "308c9d", + "374793": "2c9572", + "4764c9": "5ce09d", + "3e9cbb": "27133f", + "61c8de": "824388", + "8c9c9d": "935926", + "8d9c9d": "c69b3f", + "d88394": "65cfe2", + "b0c5c6": "d5ab51", + "ccd2ce": "b77736", + "d8d9da": "d8d9da", + "eeeeee": "f7d76b", + "fefefe": "fefefe" + }, + "2": { + "101010": "101010", + "1f2161": "b7904d", + "5d666d": "1e0726", + "616b72": "4a1111", + "9c455b": "b9682d", + "374793": "dec284", + "4764c9": "f8ecc5", + "3e9cbb": "4378eb", + "61c8de": "5787f1", + "8c9c9d": "350b19", + "8d9c9d": "531917", + "d88394": "e4d85f", + "b0c5c6": "5f291c", + "ccd2ce": "4a1111", + "d8d9da": "d8d9da", + "eeeeee": "844232", + "fefefe": "fefefe" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/780.json b/public/images/pokemon/variant/exp/back/780.json new file mode 100644 index 00000000000..f55158dcabb --- /dev/null +++ b/public/images/pokemon/variant/exp/back/780.json @@ -0,0 +1,28 @@ +{ + "1": { + "8d541b": "bd8955", + "297b8b": "1a316b", + "5aa4a4": "284c80", + "f5ae07": "faf0b1", + "606f55": "496375", + "726d5c": "a36026", + "105262": "0e194a", + "b8b7a3": "cf8d38", + "b4cda4": "9ab5b8", + "91a37c": "7798a1", + "eeeeee": "e6c15e" + }, + "2": { + "8d541b": "157d36", + "297b8b": "4e4f73", + "5aa4a4": "6a708a", + "f5ae07": "3ec435", + "606f55": "8f825d", + "726d5c": "162d3d", + "105262": "3f3c61", + "b8b7a3": "254e59", + "b4cda4": "d6dbba", + "91a37c": "b5b48b", + "eeeeee": "3e7a76" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/840.json b/public/images/pokemon/variant/exp/back/840.json new file mode 100644 index 00000000000..c60e9aaa3a7 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/840.json @@ -0,0 +1,28 @@ +{ + "1": { + "e2244a": "4e77a2", + "5fab1d": "7a7c9e", + "d39a52": "c55885", + "e32b50": "70a2c5", + "fe455c": "abd7e2", + "fa6f8b": "c1f3f3", + "a4d84a": "9aa0b3", + "357912": "313846", + "d3ee77": "c0cbd6", + "8d4229": "9c2e72", + "a50534": "3e6085" + }, + "2": { + "e2244a": "bfb5ab", + "5fab1d": "7a7c9e", + "d39a52": "463731", + "e32b50": "807770", + "fe455c": "dcd9d1", + "fa6f8b": "eeedea", + "a4d84a": "9aa0b3", + "357912": "313846", + "d3ee77": "afc6d2", + "8d4229": "291411", + "a50534": "68645f" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/841.json b/public/images/pokemon/variant/exp/back/841.json new file mode 100644 index 00000000000..11e45f3fc34 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/841.json @@ -0,0 +1,34 @@ +{ + "1": { + "df6655": "c1f3f3", + "56ab32": "a59ab3", + "9b2629": "70a2c5", + "d9695a": "c55885", + "ebe381": "854774", + "ccb468": "5d2654", + "8d764b": "110723", + "ccca71": "b3b1d6", + "612324": "3e6085", + "488235": "8e7a9e", + "c3a965": "e6dcf9", + "b5915b": "34123a", + "d72d31": "abd7e2", + "395a2e": "383146" + }, + "2": { + "df6655": "eeedea", + "56ab32": "e28c95", + "9b2629": "bfb5ab", + "d9695a": "463731", + "ebe381": "854774", + "ccb468": "5d2654", + "8d764b": "110723", + "ccca71": "e2dcd6", + "612324": "68645f", + "488235": "a8546e", + "c3a965": "cbb4af", + "b5915b": "34123a", + "d72d31": "dcd9d1", + "395a2e": "4f0e30" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/842.json b/public/images/pokemon/variant/exp/back/842.json new file mode 100644 index 00000000000..926d558357b --- /dev/null +++ b/public/images/pokemon/variant/exp/back/842.json @@ -0,0 +1,38 @@ +{ + "1": { + "ac6b20": "101010", + "1f4329": "313846", + "9f7034": "110723", + "cfb07a": "a3b9d0", + "fcff86": "397880", + "7de755": "d66f9a", + "244d1f": "852560", + "fed26e": "698db4", + "39a45f": "9aa0b3", + "ffa63b": "2d3d68", + "e78422": "1f1946", + "e75574": "abd7e2", + "af2348": "70a2c5", + "621522": "3e6085", + "ffc575": "2b526f", + "2c743e": "7a7c9e" + }, + "2": { + "ac6b20": "101010", + "1f4329": "341c1c", + "9f7034": "2e0e09", + "cfb07a": "cbb4af", + "fcff86": "eee0bc", + "7de755": "589df3", + "244d1f": "2e2246", + "fed26e": "b9937a", + "39a45f": "e28c95", + "ffa63b": "63473b", + "e78422": "4b211b", + "e75574": "dcd9d1", + "af2348": "bfb5ab", + "621522": "68645f", + "ffc575": "d1a87e", + "2c743e": "a8546e" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/exp/back/871.json b/public/images/pokemon/variant/exp/back/871.json new file mode 100644 index 00000000000..5004d3013b5 --- /dev/null +++ b/public/images/pokemon/variant/exp/back/871.json @@ -0,0 +1,32 @@ +{ + "1": { + "101010": "101010", + "2e2732": "1b3334", + "281f2e": "2a2732", + "46384c": "504540", + "493d4e": "3a5d57", + "665272": "62857c", + "544947": "7d320e", + "7a7270": "a8501b", + "9e9a96": "cd7930", + "7b4e1c": "5b0d3f", + "d58815": "a02c58", + "fdba2f": "c45858", + "fdf22f": "f1e8e8" + }, + "2": { + "101010": "101010", + "2e2732": "8b4738", + "281f2e": "212232", + "46384c": "504740", + "493d4e": "ce8a66", + "665272": "eac69b", + "544947": "1a1730", + "7a7270": "27223b", + "9e9a96": "3a3449", + "7b4e1c": "222c58", + "d58815": "343f7f", + "fdba2f": "67729f", + "fdf22f": "8e9fc9" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/207.json b/public/images/pokemon/variant/female/207.json index b0ae8e84102..b1e3582ae5c 100644 --- a/public/images/pokemon/variant/female/207.json +++ b/public/images/pokemon/variant/female/207.json @@ -1,32 +1,26 @@ { "1": { - "63314a": "7f4812", - "e6a5ce": "f8dd84", - "101010": "101010", - "ad6394": "b67322", - "de84b5": "daa93f", - "4a5a73": "4a5a73", - "ffffff": "ffffff", - "adbdc5": "adbdc5", - "bd6b5a": "bd6b5a", + "de84b5": "e3784d", + "e6a5ce": "f7a565", + "63314a": "2b8199", "4a73bd": "3b426f", - "ffa584": "ffa584", "294a7b": "1f2142", - "6b9cef": "596596" + "ad6394": "ba4732", + "612f48": "802019", + "6b9cef": "596596", + "ffa584": "68edca", + "bd6b5a": "44c5c9" }, "2": { - "63314a": "5f1723", - "e6a5ce": "ef6b58", - "101010": "101010", - "ad6394": "97343c", - "de84b5": "c04144", - "4a5a73": "4a5a73", - "ffffff": "ffffff", - "adbdc5": "adbdc5", - "bd6b5a": "c86539", - "4a73bd": "42bca0", + "de84b5": "42bca0", + "e6a5ce": "70e0b7", + "63314a": "752d17", + "4a73bd": "de597e", + "294a7b": "8a2b54", + "ad6394": "27868a", + "612f48": "134e5e", + "6b9cef": "f78f96", "ffa584": "f0a452", - "294a7b": "33817e", - "6b9cef": "81e4b3" + "bd6b5a": "c86539" } } \ No newline at end of file diff --git a/public/images/pokemon/variant/female/332.json b/public/images/pokemon/variant/female/332.json new file mode 100644 index 00000000000..c86429d13c4 --- /dev/null +++ b/public/images/pokemon/variant/female/332.json @@ -0,0 +1,34 @@ +{ + "1": { + "319452": "780d4a", + "4a7310": "982443", + "7ba563": "b44040", + "bdef84": "ec8c8c", + "8cbd63": "bf3d64", + "215200": "710f2e", + "a5d674": "e16363", + "196b21": "7d1157", + "f7ce00": "5bcfc3", + "525252": "20668c", + "63b56b": "9e2056", + "a5d673": "de5b6f", + "8c6b3a": "33a3b0", + "4aa552": "8a1652" + }, + "2": { + "319452": "b59c72", + "4a7310": "4f3956", + "7ba563": "805a9c", + "bdef84": "c193cf", + "8cbd63": "f6f7df", + "215200": "694d37", + "a5d674": "a473ba", + "196b21": "9c805f", + "f7ce00": "f2aab6", + "525252": "983364", + "63b56b": "e3ddb8", + "a5d673": "ebe9ca", + "8c6b3a": "df879f", + "4aa552": "c9b991" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/396.json b/public/images/pokemon/variant/female/396.json new file mode 100644 index 00000000000..f811a4e002d --- /dev/null +++ b/public/images/pokemon/variant/female/396.json @@ -0,0 +1,38 @@ +{ + "1": { + "d6dede": "e3d09d", + "736363": "89ad57", + "3f1e27": "965318", + "d67300": "edb651", + "b5b5b5": "d1a562", + "9c4a21": "db963b", + "ff9429": "ffcf5e", + "3a2129": "2a4f19", + "524a4a": "558033", + "4f4747": "dbb070", + "fcfcfc": "f0ebc5", + "ff0000": "5da848", + "4a4343": "731e22", + "ad9c9c": "ed7b61", + "756565": "144a40", + "8c7373": "b53f36" + }, + "2": { + "d6dede": "f0deaa", + "736363": "4da8a1", + "3f1e27": "451915", + "d67300": "63362b", + "b5b5b5": "debd8c", + "9c4a21": "52281f", + "ff9429": "8c604c", + "3a2129": "235a6b", + "524a4a": "307b82", + "4f4747": "e3c896", + "fcfcfc": "fcfad2", + "ff0000": "c4568a", + "4a4343": "0d142e", + "ad9c9c": "2f436b", + "756565": "e0703d", + "8c7373": "1b2745" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/397.json b/public/images/pokemon/variant/female/397.json new file mode 100644 index 00000000000..8f266f191c6 --- /dev/null +++ b/public/images/pokemon/variant/female/397.json @@ -0,0 +1,38 @@ +{ + "1": { + "ff9429": "ffcf5e", + "3a3a3a": "558033", + "7b4221": "965318", + "523a4a": "731e22", + "9c848c": "ed7b61", + "5a525a": "739e49", + "735a63": "b53f36", + "f75242": "8bba65", + "b5b5b5": "d9c798", + "bd6300": "db963b", + "9c4242": "528a3e", + "3b303d": "144a40", + "4d464d": "256e54", + "2e222e": "3c5e24", + "3b333b": "753510", + "fcfcfc": "f0ebc5" + }, + "2": { + "ff9429": "8c604c", + "3a3a3a": "307b82", + "7b4221": "52281f", + "523a4a": "0d142e", + "9c848c": "2f436b", + "5a525a": "4da8a1", + "735a63": "1b2745", + "f75242": "f797ad", + "b5b5b5": "f0deaa", + "bd6300": "63362b", + "9c4242": "c4568a", + "3b303d": "e0703d", + "4d464d": "e68e57", + "2e222e": "235a6b", + "3b333b": "421917", + "fcfcfc": "fcfad2" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/398.json b/public/images/pokemon/variant/female/398.json new file mode 100644 index 00000000000..d4e72672103 --- /dev/null +++ b/public/images/pokemon/variant/female/398.json @@ -0,0 +1,36 @@ +{ + "1": { + "735a63": "b53f36", + "5c545c": "144a40", + "5a525a": "558033", + "7b6b7b": "89ad57", + "f75242": "156146", + "4f3847": "753510", + "b5b5b5": "d7be89", + "9c4242": "0c403b", + "7b4221": "965318", + "fcfcfc": "e8e3b6", + "3a3a3a": "2a4f19", + "bd6300": "db963b", + "523a4a": "731e22", + "9c848c": "ed7b61", + "ff9429": "ffcf5e" + }, + "2": { + "735a63": "1b2745", + "5c545c": "e0703d", + "5a525a": "307b82", + "7b6b7b": "4da8a1", + "f75242": "f78a4a", + "4f3847": "421917", + "b5b5b5": "f0deaa", + "9c4242": "c94a2a", + "7b4221": "52281f", + "fcfcfc": "fcfad2", + "3a3a3a": "235a6b", + "bd6300": "63362b", + "523a4a": "080d1f", + "9c848c": "293854", + "ff9429": "8c604c" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/403.json b/public/images/pokemon/variant/female/403.json new file mode 100644 index 00000000000..4f8bd43540c --- /dev/null +++ b/public/images/pokemon/variant/female/403.json @@ -0,0 +1,26 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "943a52": "33190a", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "e64a52": "3e2711", + "42426b": "63121d", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "943a52": "3a5e80", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "e64a52": "4a7c92", + "42426b": "161b36", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/404.json b/public/images/pokemon/variant/female/404.json new file mode 100644 index 00000000000..1c96dd11832 --- /dev/null +++ b/public/images/pokemon/variant/female/404.json @@ -0,0 +1,28 @@ +{ + "1": { + "736352": "234085", + "4a4a73": "63121d", + "63637b": "f1dbb1", + "b59c5a": "3763b8", + "637bb5": "962a2f", + "4a4a63": "dcb788", + "ffe65a": "4881cc", + "313142": "bd8254", + "943a52": "5a2d0f", + "e64a52": "3e2711", + "7badf7": "bf403a" + }, + "2": { + "736352": "298e7d", + "4a4a73": "161b36", + "63637b": "def4f0", + "b59c5a": "36b88a", + "637bb5": "222f4d", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "943a52": "3a5e80", + "e64a52": "4a7c92", + "7badf7": "324663" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/405.json b/public/images/pokemon/variant/female/405.json new file mode 100644 index 00000000000..c873cceb259 --- /dev/null +++ b/public/images/pokemon/variant/female/405.json @@ -0,0 +1,28 @@ +{ + "1": { + "b59c5a": "3763b8", + "7badf7": "bf403a", + "63637b": "f1dbb1", + "637bb5": "962a2f", + "943a52": "5a2d0f", + "4a4a63": "dcb488", + "ffe65a": "4881cc", + "313142": "bd7e54", + "4a4a73": "63121d", + "e64a52": "3e2711", + "736352": "234085" + }, + "2": { + "b59c5a": "36b88a", + "7badf7": "324663", + "63637b": "def4f0", + "637bb5": "222f4d", + "943a52": "3a5e80", + "4a4a63": "bbe5e5", + "ffe65a": "46d382", + "313142": "73bec9", + "4a4a73": "161b36", + "e64a52": "4a7c92", + "736352": "298e7d" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/female/417.json b/public/images/pokemon/variant/female/417.json new file mode 100644 index 00000000000..42b3180ee3c --- /dev/null +++ b/public/images/pokemon/variant/female/417.json @@ -0,0 +1,36 @@ +{ + "1": { + "101010": "101010", + "3e364e": "734430", + "524941": "732e12", + "5a524a": "642f1a", + "4a425a": "5f2618", + "84523a": "9b314f", + "ef845a": "e26e6e", + "c5a563": "e95d6c", + "ffd663": "f17c7c", + "637b9c": "86452b", + "7bb5e6": "a25f37", + "cec5c5": "e8be64", + "f7f7f7": "faeda9", + "ffffff": "ffffff", + "7b7b84": "8e623c" + }, + "2": { + "101010": "101010", + "3e364e": "203243", + "524941": "2d284c", + "5a524a": "0f203a", + "4a425a": "23704c", + "84523a": "693939", + "ef845a": "e1b8ac", + "c5a563": "8fecf7", + "ffd663": "d0fdff", + "637b9c": "a2dc76", + "7bb5e6": "e4fba1", + "cec5c5": "357577", + "f7f7f7": "5ba297", + "ffffff": "ffffff", + "7b7b84": "1f3f4e" + } +} \ No newline at end of file diff --git a/public/images/pokemon_icons_1v.json b/public/images/pokemon_icons_1v.json index de66db65eb7..f5023b98a4b 100644 --- a/public/images/pokemon_icons_1v.json +++ b/public/images/pokemon_icons_1v.json @@ -13,2287 +13,6287 @@ "filename": "1_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "1_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "2_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "2_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "3_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "4_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "4_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "5_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "5_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "6-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 0, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 0, + "w": 40, + "h": 30 + } }, { "filename": "6-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-x_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-x_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-y_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6-mega-y_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "6_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "7_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "7_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "8_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "8_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 30, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 30, + "w": 40, + "h": 30 + } }, { "filename": "9_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "9_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "19_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "19_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "20_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "20_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "23_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "23_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "24_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "24_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-beauty-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-beauty-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cool-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cool-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 60, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 60, + "w": 40, + "h": 30 + } }, { "filename": "25-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-cute-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-cute-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-partner_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-partner_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-smart-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-smart-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-tough-cosplay_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25-tough-cosplay_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "25_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "26_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "26_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 90, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 90, + "w": 40, + "h": 30 + } }, { "filename": "29_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "29_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "29_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "30_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "30_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "31_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "31_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "31_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "32_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "32_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "33_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "33_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "34_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "34_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "35_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 120, + "w": 40, + "h": 30 + } }, { "filename": "35_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "36_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "36_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "37_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "37_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "38_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 120, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "38_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "39_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "39_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "40_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "40_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "41_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "41_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "41_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "42_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 150, + "w": 40, + "h": 30 + } }, { "filename": "42_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "42_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "43_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "43_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "44_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "44_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 150, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "45_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "45_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "46_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "46_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "46_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "47_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "47_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "47_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "50_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 180, + "w": 40, + "h": 30 + } }, { "filename": "50_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "51_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "51_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52-gigantamax_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 180, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "52_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "53_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "53_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "53_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "56_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "56_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "56_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 210, + "w": 40, + "h": 30 + } }, { "filename": "57_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "57_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "57_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "69_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "69_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "70_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 210, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "70_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "71_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "71_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "77_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "77_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "78_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "78_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "79_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "79_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 240, + "w": 40, + "h": 30 + } }, { "filename": "79_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "80_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "81_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 240, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "81_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "82_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "82_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "83_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "83_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84-f_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "84-f_2", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "84-f_3", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "84-f_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "84-f_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 270, + "w": 40, + "h": 30 + } }, { "filename": "84_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85-f_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "85-f_2", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 270, "w": 40, "h": 30} - }, - { - "filename": "85-f_3", - "rotated": false, - "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 270, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "85-f_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "85-f_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "85_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "86_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "86_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "86_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "87_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "87_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 300, + "w": 40, + "h": 30 + } }, { "filename": "87_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "88_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "88_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "89_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "89_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "92_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "92_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "92_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "93_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "93_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "93_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-gigantamax_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 300, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-mega_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 330, + "w": 40, + "h": 30 + } }, { "filename": "94_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "98_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "98_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "99_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "100_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 330, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "100_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "101_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "101_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "102_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "102_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "103_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "103_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 360, + "w": 40, + "h": 30 + } }, { "filename": "111_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "111_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "112_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "112_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "113_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "113_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "113_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "114_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 360, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "114_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "116_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "116_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "117_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "117_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "118_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "118_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 390, + "w": 40, + "h": 30 + } }, { "filename": "118_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "119_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "119_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "119_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "120_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "120_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "121_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "121_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 390, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "123_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "123_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "123_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "125_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "125_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "125_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "126_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 420, + "w": 40, + "h": 30 + } }, { "filename": "126_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "127_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "128_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "128_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "129_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 420, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "129_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "130_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "131-gigantamax_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "131-gigantamax_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 450, + "w": 40, + "h": 30 + } }, { "filename": "131_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "131_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "132_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "132_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133-partner_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133-partner_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "133_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 450, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "134_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "134_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "135_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "135_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "135_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "136_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "136_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 480, + "w": 40, + "h": 30 + } }, { "filename": "136_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "137_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "137_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "138_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "138_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "139_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "139_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "140_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 480, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "140_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "141_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "141_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142-mega_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142-mega_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 510, + "w": 40, + "h": 30 + } }, { "filename": "142_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "143-gigantamax_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 540, + "w": 40, + "h": 30 + } + }, + { + "filename": "143-gigantamax_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 540, + "w": 40, + "h": 30 + } + }, + { + "filename": "143_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 540, + "w": 40, + "h": 30 + } + }, + { + "filename": "143_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "144_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "144_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "144_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "145_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "145_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "145_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "146_1", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "146_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 510, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "146_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 0, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "147_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 40, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "147_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 80, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 560, + "y": 540, + "w": 40, + "h": 30 + } }, { "filename": "148_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 120, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "148_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 160, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "149_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 200, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "149_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 240, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-x_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 280, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-x_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 320, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-y_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 360, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150-mega-y_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 400, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 440, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "150_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 480, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "151_2", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 520, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 570, + "w": 40, + "h": 30 + } }, { "filename": "151_3", "rotated": false, "trimmed": false, - "sourceSize": {"w": 40, "h": 30}, - "spriteSourceSize": {"x": 0, "y": 0, "w": 40, "h": 30}, - "frame": {"x": 560, "y": 540, "w": 40, "h": 30} + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 570, + "w": 40, + "h": 30 + } } ] } ], "meta": { - "app": "texturepacker", - "version": "3.0" + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:3447489444000034526be9543e0a03fb:c9244ec22fd9b63bdc7e97bf457f1266:2fc2d7db306a93e9369e20846ccef45c$" } } diff --git a/public/images/pokemon_icons_1v.png b/public/images/pokemon_icons_1v.png index d6b1bc0cf7e..025c1ab025a 100644 Binary files a/public/images/pokemon_icons_1v.png and b/public/images/pokemon_icons_1v.png differ diff --git a/public/images/pokemon_icons_2v.json b/public/images/pokemon_icons_2v.json index 23eec483b42..519ea6c62f2 100644 --- a/public/images/pokemon_icons_2v.json +++ b/public/images/pokemon_icons_2v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_2v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 540, + "h": 540 }, "scale": 1, "frames": [ @@ -1417,7 +1417,7 @@ } }, { - "filename": "190_2", + "filename": "187_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -1437,6 +1437,132 @@ "h": 30 } }, + { + "filename": "187_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "188_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "188_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "189_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "189_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "190_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 150, + "w": 40, + "h": 30 + } + }, { "filename": "190_3", "rotated": false, @@ -1452,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1473,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 150, "w": 40, "h": 30 @@ -1494,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 150, "w": 40, "h": 30 @@ -1515,7 +1641,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 150, "w": 40, "h": 30 @@ -1536,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 150, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1557,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1578,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1599,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1620,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 160, + "y": 180, "w": 40, "h": 30 } @@ -1641,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 200, + "y": 180, "w": 40, "h": 30 } @@ -1662,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1683,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1704,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1725,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1746,7 +1872,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1767,7 +1893,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1788,7 +1914,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 180, "w": 40, "h": 30 @@ -1809,7 +1935,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 180, "w": 40, "h": 30 @@ -1830,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 180, "w": 40, "h": 30 @@ -1851,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1872,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1893,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 80, + "y": 210, "w": 40, "h": 30 } @@ -1914,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 120, + "y": 210, "w": 40, "h": 30 } @@ -1935,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 160, + "y": 210, "w": 40, "h": 30 } @@ -1956,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 200, + "y": 210, "w": 40, "h": 30 } @@ -1977,7 +2103,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 210, "w": 40, "h": 30 @@ -1998,7 +2124,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 210, "w": 40, "h": 30 @@ -2019,7 +2145,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -2040,7 +2166,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -2061,7 +2187,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -2082,7 +2208,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 210, "w": 40, "h": 30 @@ -2103,7 +2229,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 210, "w": 40, "h": 30 @@ -2124,8 +2250,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -2145,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -2166,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 80, + "y": 240, "w": 40, "h": 30 } @@ -2187,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 120, + "y": 240, "w": 40, "h": 30 } @@ -2208,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 160, + "y": 240, "w": 40, "h": 30 } @@ -2229,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 200, + "y": 240, "w": 40, "h": 30 } @@ -2250,7 +2376,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 240, "w": 40, "h": 30 @@ -2271,7 +2397,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 240, "w": 40, "h": 30 @@ -2292,7 +2418,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 240, "w": 40, "h": 30 @@ -2313,7 +2439,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 240, "w": 40, "h": 30 @@ -2334,7 +2460,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 240, "w": 40, "h": 30 @@ -2355,7 +2481,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 240, "w": 40, "h": 30 @@ -2376,7 +2502,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 240, "w": 40, "h": 30 @@ -2397,8 +2523,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -2418,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -2439,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 80, + "y": 270, "w": 40, "h": 30 } @@ -2460,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -2481,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -2502,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -2523,7 +2649,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 270, "w": 40, "h": 30 @@ -2544,7 +2670,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 270, "w": 40, "h": 30 @@ -2565,7 +2691,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 270, "w": 40, "h": 30 @@ -2586,7 +2712,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 270, "w": 40, "h": 30 @@ -2607,7 +2733,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 270, "w": 40, "h": 30 @@ -2628,7 +2754,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 270, "w": 40, "h": 30 @@ -2649,7 +2775,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 270, "w": 40, "h": 30 @@ -2670,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2691,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2712,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2733,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2754,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2775,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2796,7 +2922,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 300, "w": 40, "h": 30 @@ -2817,7 +2943,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 300, "w": 40, "h": 30 @@ -2838,7 +2964,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 300, "w": 40, "h": 30 @@ -2859,7 +2985,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 300, "w": 40, "h": 30 @@ -2880,7 +3006,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 300, "w": 40, "h": 30 @@ -2901,7 +3027,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 300, "w": 40, "h": 30 @@ -2922,7 +3048,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 300, "w": 40, "h": 30 @@ -2943,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2964,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2985,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -3006,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -3027,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -3048,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -3069,7 +3195,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 330, "w": 40, "h": 30 @@ -3090,7 +3216,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 330, "w": 40, "h": 30 @@ -3111,7 +3237,91 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "204_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "204_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "205_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "205_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, "y": 330, "w": 40, "h": 30 @@ -3132,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -3153,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3174,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -3195,8 +3405,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -3216,8 +3426,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -3237,8 +3447,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -3258,8 +3468,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -3279,8 +3489,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -3300,8 +3510,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -3321,8 +3531,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -3342,7 +3552,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3363,7 +3573,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3384,7 +3594,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 360, "w": 40, "h": 30 @@ -3405,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3426,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3447,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3468,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3489,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3510,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3531,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3552,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3573,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3594,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3615,7 +3825,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3636,7 +3846,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3657,7 +3867,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 390, "w": 40, "h": 30 @@ -3678,8 +3888,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 390, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3699,8 +3909,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 390, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3720,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 390, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -3741,8 +3951,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 390, + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3762,8 +3972,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 390, + "x": 160, + "y": 420, "w": 40, "h": 30 } @@ -3783,8 +3993,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 390, + "x": 200, + "y": 420, "w": 40, "h": 30 } @@ -3804,8 +4014,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 240, + "y": 420, "w": 40, "h": 30 } @@ -3825,8 +4035,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 390, + "x": 280, + "y": 420, "w": 40, "h": 30 } @@ -3846,8 +4056,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 320, + "y": 420, "w": 40, "h": 30 } @@ -3867,8 +4077,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 360, + "y": 420, "w": 40, "h": 30 } @@ -3888,7 +4098,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 420, "w": 40, "h": 30 @@ -3909,7 +4119,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 420, "w": 40, "h": 30 @@ -3930,7 +4140,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 420, "w": 40, "h": 30 @@ -3951,8 +4161,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 420, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -3972,8 +4182,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 420, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -3993,8 +4203,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 420, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -4014,8 +4224,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 420, + "x": 120, + "y": 450, "w": 40, "h": 30 } @@ -4035,8 +4245,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 420, + "x": 160, + "y": 450, "w": 40, "h": 30 } @@ -4056,8 +4266,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 420, + "x": 200, + "y": 450, "w": 40, "h": 30 } @@ -4077,8 +4287,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 420, + "x": 240, + "y": 450, "w": 40, "h": 30 } @@ -4098,8 +4308,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 420, + "x": 280, + "y": 450, "w": 40, "h": 30 } @@ -4119,8 +4329,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 320, + "y": 450, "w": 40, "h": 30 } @@ -4140,8 +4350,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 360, + "y": 450, "w": 40, "h": 30 } @@ -4161,7 +4371,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 450, "w": 40, "h": 30 @@ -4182,7 +4392,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 450, "w": 40, "h": 30 @@ -4203,7 +4413,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 450, "w": 40, "h": 30 @@ -4223,216 +4433,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 120, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "243_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 160, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "244_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 200, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "244_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 240, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "245_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 280, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "245_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 320, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "246_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 360, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "246_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 400, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "247_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 440, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "247_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 480, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "248-mega_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 480, @@ -4441,7 +4441,7 @@ } }, { - "filename": "248-mega_3", + "filename": "243_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4462,7 +4462,7 @@ } }, { - "filename": "248_2", + "filename": "244_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4483,7 +4483,7 @@ } }, { - "filename": "248_3", + "filename": "244_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4504,7 +4504,7 @@ } }, { - "filename": "249_2", + "filename": "245_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4525,7 +4525,7 @@ } }, { - "filename": "249_3", + "filename": "245_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4546,7 +4546,7 @@ } }, { - "filename": "250_2", + "filename": "246_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4567,7 +4567,7 @@ } }, { - "filename": "250_3", + "filename": "246_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4588,7 +4588,7 @@ } }, { - "filename": "251_2", + "filename": "247_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4609,7 +4609,7 @@ } }, { - "filename": "251_3", + "filename": "247_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4628,6 +4628,216 @@ "w": 40, "h": 30 } + }, + { + "filename": "248-mega_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "248-mega_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "248_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "248_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "249_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "249_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "250_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "250_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "251_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "251_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 510, + "w": 40, + "h": 30 + } } ] } @@ -4635,6 +4845,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:cb87bf48266ab3d893dbbd24a52f875f:d37e73561b49b4fe831e3fcaee67b851:63b368599cdc6e139499267117e91cd5$" + "smartupdate": "$TexturePacker:SmartUpdate:9bbc7b4492e80aa5722cc2bf05816872:55b15740d88d2f1d62acee04668f97a7:63b368599cdc6e139499267117e91cd5$" } } diff --git a/public/images/pokemon_icons_2v.png b/public/images/pokemon_icons_2v.png index e74840b647b..fea0fb339ce 100644 Binary files a/public/images/pokemon_icons_2v.png and b/public/images/pokemon_icons_2v.png differ diff --git a/public/images/pokemon_icons_3v.json b/public/images/pokemon_icons_3v.json index 2500eebbff8..e18ce672c4e 100644 --- a/public/images/pokemon_icons_3v.json +++ b/public/images/pokemon_icons_3v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_3v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 560, + "h": 560 }, "scale": 1, "frames": [ @@ -297,8 +297,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 30, + "x": 520, + "y": 0, "w": 40, "h": 30 } @@ -318,7 +318,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 0, "y": 30, "w": 40, "h": 30 @@ -339,7 +339,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 40, "y": 30, "w": 40, "h": 30 @@ -360,7 +360,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 80, "y": 30, "w": 40, "h": 30 @@ -381,7 +381,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 120, "y": 30, "w": 40, "h": 30 @@ -402,7 +402,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 160, "y": 30, "w": 40, "h": 30 @@ -423,7 +423,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 200, "y": 30, "w": 40, "h": 30 @@ -444,7 +444,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 240, "y": 30, "w": 40, "h": 30 @@ -465,7 +465,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 280, "y": 30, "w": 40, "h": 30 @@ -486,7 +486,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 320, "y": 30, "w": 40, "h": 30 @@ -507,7 +507,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 360, "y": 30, "w": 40, "h": 30 @@ -528,7 +528,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 400, "y": 30, "w": 40, "h": 30 @@ -549,7 +549,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 440, "y": 30, "w": 40, "h": 30 @@ -570,8 +570,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 60, + "x": 480, + "y": 30, "w": 40, "h": 30 } @@ -591,8 +591,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 60, + "x": 520, + "y": 30, "w": 40, "h": 30 } @@ -612,7 +612,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 0, "y": 60, "w": 40, "h": 30 @@ -633,7 +633,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 40, "y": 60, "w": 40, "h": 30 @@ -654,7 +654,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 80, "y": 60, "w": 40, "h": 30 @@ -675,7 +675,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 120, "y": 60, "w": 40, "h": 30 @@ -696,7 +696,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 160, "y": 60, "w": 40, "h": 30 @@ -717,7 +717,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 200, "y": 60, "w": 40, "h": 30 @@ -738,7 +738,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 240, "y": 60, "w": 40, "h": 30 @@ -759,7 +759,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 280, "y": 60, "w": 40, "h": 30 @@ -780,7 +780,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 320, "y": 60, "w": 40, "h": 30 @@ -801,7 +801,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 360, "y": 60, "w": 40, "h": 30 @@ -822,7 +822,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 400, "y": 60, "w": 40, "h": 30 @@ -843,8 +843,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 90, + "x": 440, + "y": 60, "w": 40, "h": 30 } @@ -864,8 +864,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 90, + "x": 480, + "y": 60, "w": 40, "h": 30 } @@ -885,8 +885,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 90, + "x": 520, + "y": 60, "w": 40, "h": 30 } @@ -906,7 +906,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 0, "y": 90, "w": 40, "h": 30 @@ -927,7 +927,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 40, "y": 90, "w": 40, "h": 30 @@ -948,7 +948,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 80, "y": 90, "w": 40, "h": 30 @@ -969,7 +969,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 120, "y": 90, "w": 40, "h": 30 @@ -990,7 +990,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 160, "y": 90, "w": 40, "h": 30 @@ -1011,7 +1011,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 200, "y": 90, "w": 40, "h": 30 @@ -1032,7 +1032,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 240, "y": 90, "w": 40, "h": 30 @@ -1053,7 +1053,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 280, "y": 90, "w": 40, "h": 30 @@ -1074,7 +1074,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 320, "y": 90, "w": 40, "h": 30 @@ -1095,7 +1095,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 360, "y": 90, "w": 40, "h": 30 @@ -1116,8 +1116,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 120, + "x": 400, + "y": 90, "w": 40, "h": 30 } @@ -1137,8 +1137,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 120, + "x": 440, + "y": 90, "w": 40, "h": 30 } @@ -1158,7 +1158,49 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, + "y": 90, + "w": 40, + "h": 30 + } + }, + { + "filename": "299_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 90, + "w": 40, + "h": 30 + } + }, + { + "filename": "299_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, "y": 120, "w": 40, "h": 30 @@ -1179,7 +1221,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 40, "y": 120, "w": 40, "h": 30 @@ -1200,7 +1242,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 80, "y": 120, "w": 40, "h": 30 @@ -1221,7 +1263,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 120, "y": 120, "w": 40, "h": 30 @@ -1242,7 +1284,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 160, "y": 120, "w": 40, "h": 30 @@ -1263,7 +1305,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 200, "y": 120, "w": 40, "h": 30 @@ -1284,7 +1326,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 240, "y": 120, "w": 40, "h": 30 @@ -1305,7 +1347,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 280, "y": 120, "w": 40, "h": 30 @@ -1326,7 +1368,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 320, "y": 120, "w": 40, "h": 30 @@ -1347,7 +1389,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 360, "y": 120, "w": 40, "h": 30 @@ -1368,7 +1410,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 400, "y": 120, "w": 40, "h": 30 @@ -1389,8 +1431,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 150, + "x": 440, + "y": 120, "w": 40, "h": 30 } @@ -1410,8 +1452,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 150, + "x": 480, + "y": 120, "w": 40, "h": 30 } @@ -1431,8 +1473,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 150, + "x": 520, + "y": 120, "w": 40, "h": 30 } @@ -1452,7 +1494,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 0, "y": 150, "w": 40, "h": 30 @@ -1473,7 +1515,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 40, "y": 150, "w": 40, "h": 30 @@ -1494,7 +1536,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 80, "y": 150, "w": 40, "h": 30 @@ -1515,7 +1557,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 120, "y": 150, "w": 40, "h": 30 @@ -1536,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 160, "y": 150, "w": 40, "h": 30 @@ -1557,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 200, "y": 150, "w": 40, "h": 30 @@ -1578,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 240, "y": 150, "w": 40, "h": 30 @@ -1599,7 +1641,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 280, "y": 150, "w": 40, "h": 30 @@ -1620,7 +1662,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 320, "y": 150, "w": 40, "h": 30 @@ -1641,7 +1683,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1662,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 180, + "x": 400, + "y": 150, "w": 40, "h": 30 } @@ -1683,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 180, + "x": 440, + "y": 150, "w": 40, "h": 30 } @@ -1704,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 180, + "x": 480, + "y": 150, "w": 40, "h": 30 } @@ -1725,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 180, + "x": 520, + "y": 150, "w": 40, "h": 30 } @@ -1746,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 0, "y": 180, "w": 40, "h": 30 @@ -1767,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 40, "y": 180, "w": 40, "h": 30 @@ -1788,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 80, "y": 180, "w": 40, "h": 30 @@ -1809,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 120, "y": 180, "w": 40, "h": 30 @@ -1830,7 +1872,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 160, "y": 180, "w": 40, "h": 30 @@ -1851,7 +1893,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 200, "y": 180, "w": 40, "h": 30 @@ -1872,7 +1914,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1893,7 +1935,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1914,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1935,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 210, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1956,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 210, + "x": 400, + "y": 180, "w": 40, "h": 30 } @@ -1977,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 210, + "x": 440, + "y": 180, "w": 40, "h": 30 } @@ -1998,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 480, + "y": 180, "w": 40, "h": 30 } @@ -2019,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 520, + "y": 180, "w": 40, "h": 30 } @@ -2040,7 +2082,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 0, "y": 210, "w": 40, "h": 30 @@ -2061,7 +2103,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 40, "y": 210, "w": 40, "h": 30 @@ -2082,7 +2124,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 80, "y": 210, "w": 40, "h": 30 @@ -2103,7 +2145,91 @@ "h": 30 }, "frame": { - "x": 320, + "x": 120, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "313_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "313_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "314_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "314_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, "y": 210, "w": 40, "h": 30 @@ -2124,7 +2250,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -2145,7 +2271,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -2166,7 +2292,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -2187,7 +2313,7 @@ "h": 30 }, "frame": { - "x": 480, + "x": 440, "y": 210, "w": 40, "h": 30 @@ -2208,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 240, + "x": 480, + "y": 210, "w": 40, "h": 30 } @@ -2228,6 +2354,48 @@ "w": 40, "h": 30 }, + "frame": { + "x": 520, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "325_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "325_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 40, "y": 240, @@ -2235,6 +2403,48 @@ "h": 30 } }, + { + "filename": "326_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "326_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 240, + "w": 40, + "h": 30 + } + }, { "filename": "327_2", "rotated": false, @@ -2250,7 +2460,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 240, "w": 40, "h": 30 @@ -2271,7 +2481,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 240, "w": 40, "h": 30 @@ -2292,7 +2502,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 240, "w": 40, "h": 30 @@ -2313,7 +2523,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 240, "w": 40, "h": 30 @@ -2334,7 +2544,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 240, "w": 40, "h": 30 @@ -2355,7 +2565,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 240, "w": 40, "h": 30 @@ -2376,7 +2586,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 240, "w": 40, "h": 30 @@ -2396,48 +2606,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 360, - "y": 240, - "w": 40, - "h": 30 - } - }, - { - "filename": "333_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 400, - "y": 240, - "w": 40, - "h": 30 - } - }, - { - "filename": "333_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 440, "y": 240, @@ -2446,7 +2614,7 @@ } }, { - "filename": "334-mega_2", + "filename": "331_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -2467,7 +2635,28 @@ } }, { - "filename": "334-mega_3", + "filename": "331_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "332_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -2487,6 +2676,111 @@ "h": 30 } }, + { + "filename": "332_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "333_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "333_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "334-mega_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "334-mega_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 270, + "w": 40, + "h": 30 + } + }, { "filename": "334_2", "rotated": false, @@ -2502,7 +2796,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 240, "y": 270, "w": 40, "h": 30 @@ -2523,7 +2817,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 280, "y": 270, "w": 40, "h": 30 @@ -2544,7 +2838,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 320, "y": 270, "w": 40, "h": 30 @@ -2565,7 +2859,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 360, "y": 270, "w": 40, "h": 30 @@ -2586,7 +2880,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 400, "y": 270, "w": 40, "h": 30 @@ -2607,7 +2901,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 440, "y": 270, "w": 40, "h": 30 @@ -2628,7 +2922,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 480, "y": 270, "w": 40, "h": 30 @@ -2649,7 +2943,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 520, "y": 270, "w": 40, "h": 30 @@ -2670,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2691,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2712,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2733,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2754,7 +3048,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 300, "w": 40, "h": 30 @@ -2775,7 +3069,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 300, "w": 40, "h": 30 @@ -2796,7 +3090,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 300, "w": 40, "h": 30 @@ -2817,7 +3111,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 300, "w": 40, "h": 30 @@ -2838,7 +3132,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 300, "w": 40, "h": 30 @@ -2859,7 +3153,91 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "345_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "345_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "346_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 300, + "w": 40, + "h": 30 + } + }, + { + "filename": "346_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, "y": 300, "w": 40, "h": 30 @@ -2880,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2901,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2922,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2943,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2964,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2985,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -3006,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -3027,7 +3405,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 280, "y": 330, "w": 40, "h": 30 @@ -3048,7 +3426,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 320, "y": 330, "w": 40, "h": 30 @@ -3069,7 +3447,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 360, "y": 330, "w": 40, "h": 30 @@ -3090,7 +3468,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 400, "y": 330, "w": 40, "h": 30 @@ -3111,7 +3489,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 440, "y": 330, "w": 40, "h": 30 @@ -3132,7 +3510,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 480, "y": 330, "w": 40, "h": 30 @@ -3153,7 +3531,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 520, "y": 330, "w": 40, "h": 30 @@ -3174,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -3195,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3216,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -3237,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -3258,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -3279,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -3300,7 +3678,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 240, "y": 360, "w": 40, "h": 30 @@ -3321,7 +3699,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 280, "y": 360, "w": 40, "h": 30 @@ -3342,7 +3720,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 320, "y": 360, "w": 40, "h": 30 @@ -3363,7 +3741,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 360, "y": 360, "w": 40, "h": 30 @@ -3384,7 +3762,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3405,7 +3783,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3426,7 +3804,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 360, "w": 40, "h": 30 @@ -3447,7 +3825,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 520, "y": 360, "w": 40, "h": 30 @@ -3468,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3489,8 +3867,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3510,8 +3888,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3531,8 +3909,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3552,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3573,7 +3951,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 200, "y": 390, "w": 40, "h": 30 @@ -3594,7 +3972,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 240, "y": 390, "w": 40, "h": 30 @@ -3615,7 +3993,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 280, "y": 390, "w": 40, "h": 30 @@ -3636,7 +4014,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 320, "y": 390, "w": 40, "h": 30 @@ -3657,7 +4035,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 360, "y": 390, "w": 40, "h": 30 @@ -3678,7 +4056,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3699,7 +4077,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3720,7 +4098,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 480, "y": 390, "w": 40, "h": 30 @@ -3741,7 +4119,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 520, "y": 390, "w": 40, "h": 30 @@ -3762,8 +4140,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3783,8 +4161,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 390, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3804,8 +4182,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -3825,8 +4203,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3846,7 +4224,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 420, "w": 40, "h": 30 @@ -3867,7 +4245,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 420, "w": 40, "h": 30 @@ -3888,7 +4266,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 420, "w": 40, "h": 30 @@ -3909,7 +4287,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 420, "w": 40, "h": 30 @@ -3930,7 +4308,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 420, "w": 40, "h": 30 @@ -3951,7 +4329,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 420, "w": 40, "h": 30 @@ -3972,7 +4350,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 420, "w": 40, "h": 30 @@ -3993,7 +4371,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 440, "y": 420, "w": 40, "h": 30 @@ -4014,7 +4392,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 480, "y": 420, "w": 40, "h": 30 @@ -4035,7 +4413,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 520, "y": 420, "w": 40, "h": 30 @@ -4056,8 +4434,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 420, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -4077,8 +4455,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -4098,8 +4476,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -4119,7 +4497,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 120, "y": 450, "w": 40, "h": 30 @@ -4140,7 +4518,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 160, "y": 450, "w": 40, "h": 30 @@ -4161,7 +4539,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 200, "y": 450, "w": 40, "h": 30 @@ -4182,7 +4560,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 240, "y": 450, "w": 40, "h": 30 @@ -4203,7 +4581,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 280, "y": 450, "w": 40, "h": 30 @@ -4224,7 +4602,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 320, "y": 450, "w": 40, "h": 30 @@ -4245,7 +4623,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 360, "y": 450, "w": 40, "h": 30 @@ -4266,7 +4644,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 400, "y": 450, "w": 40, "h": 30 @@ -4287,7 +4665,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 440, "y": 450, "w": 40, "h": 30 @@ -4308,7 +4686,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 480, "y": 450, "w": 40, "h": 30 @@ -4329,7 +4707,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 520, "y": 450, "w": 40, "h": 30 @@ -4349,48 +4727,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 440, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "382-primal_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 480, - "y": 450, - "w": 40, - "h": 30 - } - }, - { - "filename": "382_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 480, @@ -4399,7 +4735,7 @@ } }, { - "filename": "382_3", + "filename": "382-primal_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4420,7 +4756,7 @@ } }, { - "filename": "383-primal_2", + "filename": "382_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4441,7 +4777,7 @@ } }, { - "filename": "383-primal_3", + "filename": "382_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4462,7 +4798,7 @@ } }, { - "filename": "383_2", + "filename": "383-primal_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4483,7 +4819,7 @@ } }, { - "filename": "383_3", + "filename": "383-primal_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4504,7 +4840,7 @@ } }, { - "filename": "384-mega_2", + "filename": "383_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4525,7 +4861,7 @@ } }, { - "filename": "384-mega_3", + "filename": "383_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4546,7 +4882,7 @@ } }, { - "filename": "384_2", + "filename": "384-mega_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4567,7 +4903,7 @@ } }, { - "filename": "384_3", + "filename": "384-mega_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4588,7 +4924,7 @@ } }, { - "filename": "385_1", + "filename": "384_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4609,7 +4945,7 @@ } }, { - "filename": "385_2", + "filename": "384_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4630,7 +4966,7 @@ } }, { - "filename": "385_3", + "filename": "385_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -4649,6 +4985,48 @@ "w": 40, "h": 30 } + }, + { + "filename": "385_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 480, + "w": 40, + "h": 30 + } + }, + { + "filename": "385_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } } ] } @@ -4656,6 +5034,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:673055e796ec5f9913fd1dd04284765c:1804ddee68059c3372bf99289c91dd89:039b026190bf1878996b3e03190bcdf3$" + "smartupdate": "$TexturePacker:SmartUpdate:205dbeed0e74aff154166e4664b6771c:8bafe4b4084b51e4e837c213db97e8a4:039b026190bf1878996b3e03190bcdf3$" } } diff --git a/public/images/pokemon_icons_3v.png b/public/images/pokemon_icons_3v.png index 6b699b3bfa9..b151e36e72c 100644 Binary files a/public/images/pokemon_icons_3v.png and b/public/images/pokemon_icons_3v.png differ diff --git a/public/images/pokemon_icons_4v.json b/public/images/pokemon_icons_4v.json index 2f171915e01..bbaca92c7c7 100644 --- a/public/images/pokemon_icons_4v.json +++ b/public/images/pokemon_icons_4v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_4v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 540, + "h": 540 }, "scale": 1, "frames": [ @@ -388,7 +388,7 @@ } }, { - "filename": "399_2", + "filename": "396_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -408,6 +408,132 @@ "h": 30 } }, + { + "filename": "396_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "397_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "397_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "398_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "398_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "399_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 30, + "w": 40, + "h": 30 + } + }, { "filename": "399_3", "rotated": false, @@ -423,7 +549,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 480, "y": 30, "w": 40, "h": 30 @@ -444,8 +570,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 30, + "x": 0, + "y": 60, "w": 40, "h": 30 } @@ -465,8 +591,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 30, + "x": 40, + "y": 60, "w": 40, "h": 30 } @@ -486,8 +612,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 30, + "x": 80, + "y": 60, "w": 40, "h": 30 } @@ -507,8 +633,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 30, + "x": 120, + "y": 60, "w": 40, "h": 30 } @@ -528,8 +654,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 30, + "x": 160, + "y": 60, "w": 40, "h": 30 } @@ -549,8 +675,134 @@ "h": 30 }, "frame": { - "x": 480, - "y": 30, + "x": 200, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "403_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "403_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "404_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "404_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "405_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "405_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 60, "w": 40, "h": 30 } @@ -570,7 +822,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 480, "y": 60, "w": 40, "h": 30 @@ -591,8 +843,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 60, + "x": 0, + "y": 90, "w": 40, "h": 30 } @@ -612,8 +864,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 60, + "x": 40, + "y": 90, "w": 40, "h": 30 } @@ -633,8 +885,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 60, + "x": 80, + "y": 90, "w": 40, "h": 30 } @@ -654,8 +906,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 60, + "x": 120, + "y": 90, "w": 40, "h": 30 } @@ -675,8 +927,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 60, + "x": 160, + "y": 90, "w": 40, "h": 30 } @@ -696,8 +948,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 60, + "x": 200, + "y": 90, "w": 40, "h": 30 } @@ -717,8 +969,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 60, + "x": 240, + "y": 90, "w": 40, "h": 30 } @@ -738,8 +990,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 60, + "x": 280, + "y": 90, "w": 40, "h": 30 } @@ -759,8 +1011,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 60, + "x": 320, + "y": 90, "w": 40, "h": 30 } @@ -780,8 +1032,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 60, + "x": 360, + "y": 90, "w": 40, "h": 30 } @@ -801,8 +1053,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 60, + "x": 400, + "y": 90, "w": 40, "h": 30 } @@ -822,8 +1074,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 60, + "x": 440, + "y": 90, "w": 40, "h": 30 } @@ -843,7 +1095,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 480, "y": 90, "w": 40, "h": 30 @@ -864,8 +1116,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 90, + "x": 0, + "y": 120, "w": 40, "h": 30 } @@ -885,8 +1137,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 90, + "x": 40, + "y": 120, "w": 40, "h": 30 } @@ -906,8 +1158,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 90, + "x": 80, + "y": 120, "w": 40, "h": 30 } @@ -927,8 +1179,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 90, + "x": 120, + "y": 120, "w": 40, "h": 30 } @@ -948,8 +1200,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 90, + "x": 160, + "y": 120, "w": 40, "h": 30 } @@ -969,8 +1221,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 90, + "x": 200, + "y": 120, "w": 40, "h": 30 } @@ -990,8 +1242,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 90, + "x": 240, + "y": 120, "w": 40, "h": 30 } @@ -1011,8 +1263,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 90, + "x": 280, + "y": 120, "w": 40, "h": 30 } @@ -1032,8 +1284,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 90, + "x": 320, + "y": 120, "w": 40, "h": 30 } @@ -1053,8 +1305,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 90, + "x": 360, + "y": 120, "w": 40, "h": 30 } @@ -1074,8 +1326,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 90, + "x": 400, + "y": 120, "w": 40, "h": 30 } @@ -1095,8 +1347,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 90, + "x": 440, + "y": 120, "w": 40, "h": 30 } @@ -1116,7 +1368,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 480, "y": 120, "w": 40, "h": 30 @@ -1136,9 +1388,135 @@ "w": 40, "h": 30 }, + "frame": { + "x": 0, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "420_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 40, - "y": 120, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "420_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-overcast_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-overcast_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-sunshine_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "421-sunshine_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 150, "w": 40, "h": 30 } @@ -1158,8 +1536,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 120, + "x": 280, + "y": 150, "w": 40, "h": 30 } @@ -1179,8 +1557,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 120, + "x": 320, + "y": 150, "w": 40, "h": 30 } @@ -1200,8 +1578,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 120, + "x": 360, + "y": 150, "w": 40, "h": 30 } @@ -1221,8 +1599,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 120, + "x": 400, + "y": 150, "w": 40, "h": 30 } @@ -1242,8 +1620,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 120, + "x": 440, + "y": 150, "w": 40, "h": 30 } @@ -1263,8 +1641,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 120, + "x": 480, + "y": 150, "w": 40, "h": 30 } @@ -1284,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 120, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1305,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 120, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1326,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 120, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1347,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 120, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1368,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 120, + "x": 160, + "y": 180, "w": 40, "h": 30 } @@ -1389,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 150, + "x": 200, + "y": 180, "w": 40, "h": 30 } @@ -1410,8 +1788,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 150, + "x": 240, + "y": 180, "w": 40, "h": 30 } @@ -1431,8 +1809,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 150, + "x": 280, + "y": 180, "w": 40, "h": 30 } @@ -1452,8 +1830,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 150, + "x": 320, + "y": 180, "w": 40, "h": 30 } @@ -1473,8 +1851,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 150, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1494,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 150, + "x": 400, + "y": 180, "w": 40, "h": 30 } @@ -1515,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 150, + "x": 440, + "y": 180, "w": 40, "h": 30 } @@ -1536,8 +1914,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 150, + "x": 480, + "y": 180, "w": 40, "h": 30 } @@ -1557,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1578,8 +1956,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1599,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 80, + "y": 210, "w": 40, "h": 30 } @@ -1620,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 120, + "y": 210, "w": 40, "h": 30 } @@ -1641,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 160, + "y": 210, "w": 40, "h": 30 } @@ -1662,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 180, + "x": 200, + "y": 210, "w": 40, "h": 30 } @@ -1683,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 180, + "x": 240, + "y": 210, "w": 40, "h": 30 } @@ -1704,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 180, + "x": 280, + "y": 210, "w": 40, "h": 30 } @@ -1725,8 +2103,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 180, + "x": 320, + "y": 210, "w": 40, "h": 30 } @@ -1746,8 +2124,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 180, + "x": 360, + "y": 210, "w": 40, "h": 30 } @@ -1767,8 +2145,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 180, + "x": 400, + "y": 210, "w": 40, "h": 30 } @@ -1788,8 +2166,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 180, + "x": 440, + "y": 210, "w": 40, "h": 30 } @@ -1809,8 +2187,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 480, + "y": 210, "w": 40, "h": 30 } @@ -1830,8 +2208,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -1851,8 +2229,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -1872,8 +2250,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 80, + "y": 240, "w": 40, "h": 30 } @@ -1893,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 120, + "y": 240, "w": 40, "h": 30 } @@ -1914,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 160, + "y": 240, "w": 40, "h": 30 } @@ -1935,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 210, + "x": 200, + "y": 240, "w": 40, "h": 30 } @@ -1956,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 210, + "x": 240, + "y": 240, "w": 40, "h": 30 } @@ -1977,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 210, + "x": 280, + "y": 240, "w": 40, "h": 30 } @@ -1998,8 +2376,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 320, + "y": 240, "w": 40, "h": 30 } @@ -2019,8 +2397,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 360, + "y": 240, "w": 40, "h": 30 } @@ -2040,8 +2418,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 210, + "x": 400, + "y": 240, "w": 40, "h": 30 } @@ -2061,8 +2439,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 210, + "x": 440, + "y": 240, "w": 40, "h": 30 } @@ -2082,8 +2460,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 480, + "y": 240, "w": 40, "h": 30 } @@ -2103,8 +2481,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -2124,8 +2502,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -2145,8 +2523,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 80, + "y": 270, "w": 40, "h": 30 } @@ -2166,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -2187,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -2208,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 240, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -2229,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 240, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -2250,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 240, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2271,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 320, + "y": 270, "w": 40, "h": 30 } @@ -2292,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 360, + "y": 270, "w": 40, "h": 30 } @@ -2313,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 400, + "y": 270, "w": 40, "h": 30 } @@ -2334,8 +2712,50 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 440, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "446_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "446_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2355,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2376,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2397,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2418,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2439,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2460,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2481,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 270, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2502,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 270, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2523,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 270, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2544,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 400, + "y": 300, "w": 40, "h": 30 } @@ -2565,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 440, + "y": 300, "w": 40, "h": 30 } @@ -2586,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 480, + "y": 300, "w": 40, "h": 30 } @@ -2607,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2628,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2649,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2670,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2691,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2712,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -2733,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -2754,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 300, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -2775,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 300, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -2796,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 300, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -2817,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 400, + "y": 330, "w": 40, "h": 30 } @@ -2838,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 440, + "y": 330, "w": 40, "h": 30 } @@ -2859,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 480, + "y": 330, "w": 40, "h": 30 } @@ -2880,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -2901,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -2922,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -2943,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -2964,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -2985,8 +3405,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -3006,8 +3426,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -3027,8 +3447,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 330, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -3048,8 +3468,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 330, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -3069,8 +3489,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 330, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -3090,8 +3510,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 400, + "y": 360, "w": 40, "h": 30 } @@ -3111,8 +3531,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 440, + "y": 360, "w": 40, "h": 30 } @@ -3132,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 480, + "y": 360, "w": 40, "h": 30 } @@ -3153,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3174,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3195,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3216,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3237,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3258,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3279,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3300,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 360, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3321,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 360, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3342,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 360, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3363,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 400, + "y": 390, "w": 40, "h": 30 } @@ -3384,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 440, + "y": 390, "w": 40, "h": 30 } @@ -3405,8 +3825,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 480, + "y": 390, "w": 40, "h": 30 } @@ -3426,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3447,8 +3867,50 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 40, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "476_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "476_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3468,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 160, + "y": 420, "w": 40, "h": 30 } @@ -3489,8 +3951,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 200, + "y": 420, "w": 40, "h": 30 } @@ -3510,8 +3972,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 240, + "y": 420, "w": 40, "h": 30 } @@ -3531,8 +3993,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 280, + "y": 420, "w": 40, "h": 30 } @@ -3552,8 +4014,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 320, + "y": 420, "w": 40, "h": 30 } @@ -3573,8 +4035,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 390, + "x": 360, + "y": 420, "w": 40, "h": 30 } @@ -3594,8 +4056,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 390, + "x": 400, + "y": 420, "w": 40, "h": 30 } @@ -3615,8 +4077,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 390, + "x": 440, + "y": 420, "w": 40, "h": 30 } @@ -3636,8 +4098,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 390, + "x": 480, + "y": 420, "w": 40, "h": 30 } @@ -3657,8 +4119,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 390, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -3678,8 +4140,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 390, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -3699,8 +4161,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 390, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -3720,8 +4182,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 390, + "x": 120, + "y": 450, "w": 40, "h": 30 } @@ -3741,8 +4203,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 390, + "x": 160, + "y": 450, "w": 40, "h": 30 } @@ -3762,8 +4224,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 200, + "y": 450, "w": 40, "h": 30 } @@ -3783,8 +4245,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 390, + "x": 240, + "y": 450, "w": 40, "h": 30 } @@ -3804,8 +4266,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 280, + "y": 450, "w": 40, "h": 30 } @@ -3825,8 +4287,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 320, + "y": 450, "w": 40, "h": 30 } @@ -3846,8 +4308,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 420, + "x": 360, + "y": 450, "w": 40, "h": 30 } @@ -3867,8 +4329,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 420, + "x": 400, + "y": 450, "w": 40, "h": 30 } @@ -3888,8 +4350,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 420, + "x": 440, + "y": 450, "w": 40, "h": 30 } @@ -3909,8 +4371,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 420, + "x": 480, + "y": 450, "w": 40, "h": 30 } @@ -3930,8 +4392,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 420, + "x": 0, + "y": 480, "w": 40, "h": 30 } @@ -3951,8 +4413,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 420, + "x": 40, + "y": 480, "w": 40, "h": 30 } @@ -3972,8 +4434,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 420, + "x": 80, + "y": 480, "w": 40, "h": 30 } @@ -3993,8 +4455,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 420, + "x": 120, + "y": 480, "w": 40, "h": 30 } @@ -4014,8 +4476,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 420, + "x": 160, + "y": 480, "w": 40, "h": 30 } @@ -4035,8 +4497,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 420, + "x": 200, + "y": 480, "w": 40, "h": 30 } @@ -4056,8 +4518,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 420, + "x": 240, + "y": 480, "w": 40, "h": 30 } @@ -4077,8 +4539,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 280, + "y": 480, "w": 40, "h": 30 } @@ -4098,8 +4560,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 320, + "y": 480, "w": 40, "h": 30 } @@ -4119,8 +4581,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 450, + "x": 360, + "y": 480, "w": 40, "h": 30 } @@ -4140,8 +4602,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 450, + "x": 400, + "y": 480, "w": 40, "h": 30 } @@ -4161,8 +4623,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 450, + "x": 440, + "y": 480, "w": 40, "h": 30 } @@ -4182,8 +4644,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 450, + "x": 480, + "y": 480, "w": 40, "h": 30 } @@ -4203,8 +4665,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 450, + "x": 0, + "y": 510, "w": 40, "h": 30 } @@ -4224,8 +4686,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 450, + "x": 40, + "y": 510, "w": 40, "h": 30 } @@ -4245,8 +4707,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 450, + "x": 80, + "y": 510, "w": 40, "h": 30 } @@ -4266,8 +4728,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 450, + "x": 120, + "y": 510, "w": 40, "h": 30 } @@ -4287,8 +4749,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 450, + "x": 160, + "y": 510, "w": 40, "h": 30 } @@ -4308,8 +4770,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 450, + "x": 200, + "y": 510, "w": 40, "h": 30 } @@ -4329,8 +4791,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 450, + "x": 240, + "y": 510, "w": 40, "h": 30 } @@ -4350,8 +4812,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 450, + "x": 280, + "y": 510, "w": 40, "h": 30 } @@ -4371,8 +4833,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 450, + "x": 320, + "y": 510, "w": 40, "h": 30 } @@ -4392,8 +4854,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 480, + "x": 360, + "y": 510, "w": 40, "h": 30 } @@ -4404,6 +4866,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2288ca6bd49f36a5ca5b49f1bcaab17a:e83f40529aad7883718910695eafd075:ebc3f8ec5b2480b298192d752b6e57dc$" + "smartupdate": "$TexturePacker:SmartUpdate:52236a80fa87dc64d12684ac85cf8440:2809a2ce37dd2c24fc872d083bf5a2aa:ebc3f8ec5b2480b298192d752b6e57dc$" } } diff --git a/public/images/pokemon_icons_4v.png b/public/images/pokemon_icons_4v.png index 7cfab80312a..43938ed5095 100644 Binary files a/public/images/pokemon_icons_4v.png and b/public/images/pokemon_icons_4v.png differ diff --git a/public/images/pokemon_icons_5v.json b/public/images/pokemon_icons_5v.json index 7da5a765c0c..d793ed1b650 100644 --- a/public/images/pokemon_icons_5v.json +++ b/public/images/pokemon_icons_5v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_5v.png", "format": "RGBA8888", "size": { - "w": 520, - "h": 520 + "w": 570, + "h": 570 }, "scale": 1, "frames": [ @@ -178,7 +178,7 @@ } }, { - "filename": "501_2", + "filename": "498_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -198,6 +198,132 @@ "h": 30 } }, + { + "filename": "498_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "499_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "499_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "500_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "500_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 0, + "w": 40, + "h": 30 + } + }, + { + "filename": "501_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 30, + "w": 40, + "h": 30 + } + }, { "filename": "501_3", "rotated": false, @@ -213,8 +339,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 0, + "x": 40, + "y": 30, "w": 40, "h": 30 } @@ -234,8 +360,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 0, + "x": 80, + "y": 30, "w": 40, "h": 30 } @@ -255,8 +381,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 0, + "x": 120, + "y": 30, "w": 40, "h": 30 } @@ -276,8 +402,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 0, + "x": 160, + "y": 30, "w": 40, "h": 30 } @@ -297,12 +423,264 @@ "h": 30 }, "frame": { - "x": 0, + "x": 200, "y": 30, "w": 40, "h": 30 } }, + { + "filename": "511_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "511_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "512_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "512_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "513_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "513_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "514_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "514_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "515_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "515_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "516_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "516_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 60, + "w": 40, + "h": 30 + } + }, { "filename": "517_2", "rotated": false, @@ -318,8 +696,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 30, + "x": 160, + "y": 60, "w": 40, "h": 30 } @@ -339,8 +717,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 30, + "x": 200, + "y": 60, "w": 40, "h": 30 } @@ -360,8 +738,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 30, + "x": 240, + "y": 60, "w": 40, "h": 30 } @@ -381,8 +759,92 @@ "h": 30 }, "frame": { - "x": 160, - "y": 30, + "x": 280, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "522_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "522_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "523_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "523_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 60, "w": 40, "h": 30 } @@ -402,8 +864,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 30, + "x": 480, + "y": 60, "w": 40, "h": 30 } @@ -423,8 +885,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 30, + "x": 520, + "y": 60, "w": 40, "h": 30 } @@ -444,8 +906,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 30, + "x": 0, + "y": 90, "w": 40, "h": 30 } @@ -465,8 +927,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 30, + "x": 40, + "y": 90, "w": 40, "h": 30 } @@ -486,8 +948,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 30, + "x": 80, + "y": 90, "w": 40, "h": 30 } @@ -507,8 +969,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 30, + "x": 120, + "y": 90, "w": 40, "h": 30 } @@ -528,8 +990,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 30, + "x": 160, + "y": 90, "w": 40, "h": 30 } @@ -549,8 +1011,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 30, + "x": 200, + "y": 90, "w": 40, "h": 30 } @@ -570,8 +1032,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 60, + "x": 240, + "y": 90, "w": 40, "h": 30 } @@ -591,8 +1053,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 60, + "x": 280, + "y": 90, "w": 40, "h": 30 } @@ -612,8 +1074,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 60, + "x": 320, + "y": 90, "w": 40, "h": 30 } @@ -633,8 +1095,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 60, + "x": 360, + "y": 90, "w": 40, "h": 30 } @@ -654,8 +1116,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 60, + "x": 400, + "y": 90, "w": 40, "h": 30 } @@ -675,8 +1137,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 60, + "x": 440, + "y": 90, "w": 40, "h": 30 } @@ -696,8 +1158,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 60, + "x": 480, + "y": 90, "w": 40, "h": 30 } @@ -717,8 +1179,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 60, + "x": 520, + "y": 90, "w": 40, "h": 30 } @@ -738,8 +1200,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 60, + "x": 0, + "y": 120, "w": 40, "h": 30 } @@ -759,8 +1221,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 60, + "x": 40, + "y": 120, "w": 40, "h": 30 } @@ -780,8 +1242,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 60, + "x": 80, + "y": 120, "w": 40, "h": 30 } @@ -801,8 +1263,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 60, + "x": 120, + "y": 120, "w": 40, "h": 30 } @@ -822,8 +1284,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 60, + "x": 160, + "y": 120, "w": 40, "h": 30 } @@ -843,8 +1305,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 90, + "x": 200, + "y": 120, "w": 40, "h": 30 } @@ -864,8 +1326,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 90, + "x": 240, + "y": 120, "w": 40, "h": 30 } @@ -885,8 +1347,134 @@ "h": 30 }, "frame": { - "x": 80, - "y": 90, + "x": 280, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "535_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "535_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "536_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "536_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "537_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "537_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 520, + "y": 120, "w": 40, "h": 30 } @@ -906,8 +1494,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 90, + "x": 0, + "y": 150, "w": 40, "h": 30 } @@ -927,8 +1515,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 90, + "x": 40, + "y": 150, "w": 40, "h": 30 } @@ -948,8 +1536,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 90, + "x": 80, + "y": 150, "w": 40, "h": 30 } @@ -969,8 +1557,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 90, + "x": 120, + "y": 150, "w": 40, "h": 30 } @@ -990,8 +1578,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 90, + "x": 160, + "y": 150, "w": 40, "h": 30 } @@ -1011,8 +1599,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 90, + "x": 200, + "y": 150, "w": 40, "h": 30 } @@ -1032,8 +1620,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 90, + "x": 240, + "y": 150, "w": 40, "h": 30 } @@ -1053,8 +1641,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 90, + "x": 280, + "y": 150, "w": 40, "h": 30 } @@ -1074,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 90, + "x": 320, + "y": 150, "w": 40, "h": 30 } @@ -1095,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 90, + "x": 360, + "y": 150, "w": 40, "h": 30 } @@ -1116,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 120, + "x": 400, + "y": 150, "w": 40, "h": 30 } @@ -1137,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 120, + "x": 440, + "y": 150, "w": 40, "h": 30 } @@ -1158,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 120, + "x": 480, + "y": 150, "w": 40, "h": 30 } @@ -1179,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 120, + "x": 520, + "y": 150, "w": 40, "h": 30 } @@ -1200,8 +1788,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 120, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1221,8 +1809,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 120, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1242,8 +1830,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 120, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1263,8 +1851,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 120, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1284,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 120, + "x": 160, + "y": 180, "w": 40, "h": 30 } @@ -1305,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 120, + "x": 200, + "y": 180, "w": 40, "h": 30 } @@ -1326,8 +1914,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 120, + "x": 240, + "y": 180, "w": 40, "h": 30 } @@ -1347,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 120, + "x": 280, + "y": 180, "w": 40, "h": 30 } @@ -1368,8 +1956,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 120, + "x": 320, + "y": 180, "w": 40, "h": 30 } @@ -1389,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 150, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1410,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 150, + "x": 400, + "y": 180, "w": 40, "h": 30 } @@ -1431,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 150, + "x": 440, + "y": 180, "w": 40, "h": 30 } @@ -1452,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 150, + "x": 480, + "y": 180, "w": 40, "h": 30 } @@ -1473,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 150, + "x": 520, + "y": 180, "w": 40, "h": 30 } @@ -1494,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 150, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1515,8 +2103,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 150, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1535,9 +2123,135 @@ "w": 40, "h": 30 }, + "frame": { + "x": 80, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "554_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "554_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555-zen_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555-zen_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 280, - "y": 150, + "y": 210, + "w": 40, + "h": 30 + } + }, + { + "filename": "555_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 210, "w": 40, "h": 30 } @@ -1557,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 360, + "y": 210, "w": 40, "h": 30 } @@ -1578,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 400, + "y": 210, "w": 40, "h": 30 } @@ -1599,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 440, + "y": 210, "w": 40, "h": 30 } @@ -1620,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 480, + "y": 210, "w": 40, "h": 30 } @@ -1641,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 520, + "y": 210, "w": 40, "h": 30 } @@ -1663,7 +2377,7 @@ }, "frame": { "x": 0, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1684,7 +2398,7 @@ }, "frame": { "x": 40, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1705,7 +2419,7 @@ }, "frame": { "x": 80, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1726,7 +2440,7 @@ }, "frame": { "x": 120, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1747,7 +2461,7 @@ }, "frame": { "x": 160, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1768,7 +2482,7 @@ }, "frame": { "x": 200, - "y": 180, + "y": 240, "w": 40, "h": 30 } @@ -1789,7 +2503,91 @@ }, "frame": { "x": 240, - "y": 180, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "566_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "566_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "567_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "567_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 240, "w": 40, "h": 30 } @@ -1809,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 440, + "y": 240, "w": 40, "h": 30 } @@ -1830,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 480, + "y": 240, "w": 40, "h": 30 } @@ -1851,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 520, + "y": 240, "w": 40, "h": 30 } @@ -1872,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -1893,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -1914,8 +2712,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 80, + "y": 270, "w": 40, "h": 30 } @@ -1935,8 +2733,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 210, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -1956,8 +2754,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 210, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -1977,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 210, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -1998,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -2019,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2040,8 +2838,50 @@ "h": 30 }, "frame": { - "x": 200, - "y": 210, + "x": 320, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "573_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "573_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 270, "w": 40, "h": 30 } @@ -2061,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 210, + "x": 440, + "y": 270, "w": 40, "h": 30 } @@ -2082,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 480, + "y": 270, "w": 40, "h": 30 } @@ -2103,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 520, + "y": 270, "w": 40, "h": 30 } @@ -2124,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2145,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2166,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2187,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2208,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 240, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2229,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 240, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2250,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 240, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2271,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2292,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2313,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2334,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 400, + "y": 300, "w": 40, "h": 30 } @@ -2355,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 440, + "y": 300, "w": 40, "h": 30 } @@ -2376,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 480, + "y": 300, "w": 40, "h": 30 } @@ -2397,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 520, + "y": 300, "w": 40, "h": 30 } @@ -2418,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2439,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2460,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2481,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 270, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2502,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 270, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2523,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 270, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -2544,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -2565,8 +3405,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -2586,8 +3426,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -2607,8 +3447,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -2628,8 +3468,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 400, + "y": 330, "w": 40, "h": 30 } @@ -2649,8 +3489,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 440, + "y": 330, "w": 40, "h": 30 } @@ -2670,8 +3510,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 480, + "y": 330, "w": 40, "h": 30 } @@ -2691,8 +3531,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 520, + "y": 330, "w": 40, "h": 30 } @@ -2712,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -2733,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -2754,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 300, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -2775,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 300, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -2796,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 300, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -2817,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -2838,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -2859,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -2880,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -2901,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -2922,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 400, + "y": 360, "w": 40, "h": 30 } @@ -2943,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 440, + "y": 360, "w": 40, "h": 30 } @@ -2964,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 480, + "y": 360, "w": 40, "h": 30 } @@ -2985,8 +3825,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 520, + "y": 360, "w": 40, "h": 30 } @@ -3006,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3027,8 +3867,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 330, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3048,8 +3888,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 330, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3069,8 +3909,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 330, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3090,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3111,8 +3951,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3132,8 +3972,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3153,8 +3993,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3174,8 +4014,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3195,8 +4035,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3216,8 +4056,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 400, + "y": 390, "w": 40, "h": 30 } @@ -3237,8 +4077,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 440, + "y": 390, "w": 40, "h": 30 } @@ -3258,8 +4098,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 480, + "y": 390, "w": 40, "h": 30 } @@ -3279,8 +4119,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 520, + "y": 390, "w": 40, "h": 30 } @@ -3301,7 +4141,7 @@ }, "frame": { "x": 0, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3322,7 +4162,7 @@ }, "frame": { "x": 40, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3343,7 +4183,7 @@ }, "frame": { "x": 80, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3364,7 +4204,7 @@ }, "frame": { "x": 120, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3385,7 +4225,7 @@ }, "frame": { "x": 160, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3406,7 +4246,7 @@ }, "frame": { "x": 200, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3427,7 +4267,7 @@ }, "frame": { "x": 240, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3448,7 +4288,7 @@ }, "frame": { "x": 280, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3469,7 +4309,7 @@ }, "frame": { "x": 320, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3490,7 +4330,7 @@ }, "frame": { "x": 360, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3511,7 +4351,7 @@ }, "frame": { "x": 400, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3532,7 +4372,7 @@ }, "frame": { "x": 440, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3553,7 +4393,7 @@ }, "frame": { "x": 480, - "y": 360, + "y": 420, "w": 40, "h": 30 } @@ -3573,8 +4413,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 390, + "x": 520, + "y": 420, "w": 40, "h": 30 } @@ -3594,8 +4434,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 390, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -3615,8 +4455,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 390, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -3636,8 +4476,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 390, + "x": 80, + "y": 450, "w": 40, "h": 30 } @@ -3657,8 +4497,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 390, + "x": 120, + "y": 450, "w": 40, "h": 30 } @@ -3678,8 +4518,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 390, + "x": 160, + "y": 450, "w": 40, "h": 30 } @@ -3699,8 +4539,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 390, + "x": 200, + "y": 450, "w": 40, "h": 30 } @@ -3720,8 +4560,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 390, + "x": 240, + "y": 450, "w": 40, "h": 30 } @@ -3741,8 +4581,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 390, + "x": 280, + "y": 450, "w": 40, "h": 30 } @@ -3762,8 +4602,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 320, + "y": 450, "w": 40, "h": 30 } @@ -3782,9 +4622,51 @@ "w": 40, "h": 30 }, + "frame": { + "x": 360, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "626_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, "frame": { "x": 400, - "y": 390, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "626_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 450, "w": 40, "h": 30 } @@ -3804,8 +4686,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 480, + "y": 450, "w": 40, "h": 30 } @@ -3825,8 +4707,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 520, + "y": 450, "w": 40, "h": 30 } @@ -3847,7 +4729,7 @@ }, "frame": { "x": 0, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3868,7 +4750,7 @@ }, "frame": { "x": 40, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3889,7 +4771,7 @@ }, "frame": { "x": 80, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3910,7 +4792,7 @@ }, "frame": { "x": 120, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3931,7 +4813,7 @@ }, "frame": { "x": 160, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3952,7 +4834,7 @@ }, "frame": { "x": 200, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3973,7 +4855,7 @@ }, "frame": { "x": 240, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -3994,7 +4876,7 @@ }, "frame": { "x": 280, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4015,7 +4897,7 @@ }, "frame": { "x": 320, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4036,7 +4918,7 @@ }, "frame": { "x": 360, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4057,7 +4939,7 @@ }, "frame": { "x": 400, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4078,7 +4960,7 @@ }, "frame": { "x": 440, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4099,7 +4981,7 @@ }, "frame": { "x": 480, - "y": 420, + "y": 480, "w": 40, "h": 30 } @@ -4119,14 +5001,35 @@ "h": 30 }, "frame": { - "x": 0, - "y": 450, + "x": 520, + "y": 480, "w": 40, "h": 30 } }, { - "filename": "641-incarnate_1", + "filename": "643_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "643_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4141,13 +5044,13 @@ }, "frame": { "x": 40, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "641-therian_1", + "filename": "644_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4162,13 +5065,13 @@ }, "frame": { "x": 80, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "642-incarnate_1", + "filename": "644_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4183,13 +5086,13 @@ }, "frame": { "x": 120, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "642-therian_1", + "filename": "646-black_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4204,13 +5107,13 @@ }, "frame": { "x": 160, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "645-incarnate_1", + "filename": "646-black_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4225,13 +5128,13 @@ }, "frame": { "x": 200, - "y": 450, + "y": 510, "w": 40, "h": 30 } }, { - "filename": "645-therian_1", + "filename": "646-white_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4246,7 +5149,70 @@ }, "frame": { "x": 240, - "y": 450, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "646-white_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "646_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "646_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 510, "w": 40, "h": 30 } @@ -4266,8 +5232,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 450, + "x": 400, + "y": 510, "w": 40, "h": 30 } @@ -4287,8 +5253,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 450, + "x": 440, + "y": 510, "w": 40, "h": 30 } @@ -4308,8 +5274,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 450, + "x": 480, + "y": 510, "w": 40, "h": 30 } @@ -4329,8 +5295,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 450, + "x": 520, + "y": 510, "w": 40, "h": 30 } @@ -4350,8 +5316,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 450, + "x": 0, + "y": 540, "w": 40, "h": 30 } @@ -4371,8 +5337,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 450, + "x": 40, + "y": 540, "w": 40, "h": 30 } @@ -4392,8 +5358,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 480, + "x": 80, + "y": 540, "w": 40, "h": 30 } @@ -4413,8 +5379,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 480, + "x": 120, + "y": 540, "w": 40, "h": 30 } @@ -4434,8 +5400,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 480, + "x": 160, + "y": 540, "w": 40, "h": 30 } @@ -4455,8 +5421,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 480, + "x": 200, + "y": 540, "w": 40, "h": 30 } @@ -4476,8 +5442,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 480, + "x": 240, + "y": 540, "w": 40, "h": 30 } @@ -4497,8 +5463,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 480, + "x": 280, + "y": 540, "w": 40, "h": 30 } @@ -4518,8 +5484,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 480, + "x": 320, + "y": 540, "w": 40, "h": 30 } @@ -4539,8 +5505,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 480, + "x": 360, + "y": 540, "w": 40, "h": 30 } @@ -4560,8 +5526,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 480, + "x": 400, + "y": 540, "w": 40, "h": 30 } @@ -4581,8 +5547,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 480, + "x": 440, + "y": 540, "w": 40, "h": 30 } @@ -4602,8 +5568,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 480, + "x": 480, + "y": 540, "w": 40, "h": 30 } @@ -4623,8 +5589,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 480, + "x": 520, + "y": 540, "w": 40, "h": 30 } @@ -4635,6 +5601,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:b615ea9a62bec26b97d0171030d11a55:35fd8571f91311ef2e9944578f979466:f1931bc28ee7f32dba7543723757cf2a$" + "smartupdate": "$TexturePacker:SmartUpdate:d7ba1fabe0180573c58dd3fb1ea6e279:cbff8ace700a0111c2ee3279d01d11e4:f1931bc28ee7f32dba7543723757cf2a$" } } diff --git a/public/images/pokemon_icons_5v.png b/public/images/pokemon_icons_5v.png index 9dd1b278ac1..ba23de2e3f5 100644 Binary files a/public/images/pokemon_icons_5v.png and b/public/images/pokemon_icons_5v.png differ diff --git a/public/images/pokemon_icons_6v.json b/public/images/pokemon_icons_6v.json index 8061ed9152b..8626eddcc1c 100644 --- a/public/images/pokemon_icons_6v.json +++ b/public/images/pokemon_icons_6v.json @@ -2824,7 +2824,7 @@ } }, { - "filename": "696_2", + "filename": "692_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -2844,6 +2844,90 @@ "h": 30 } }, + { + "filename": "692_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "693_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "693_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 330, + "w": 40, + "h": 30 + } + }, + { + "filename": "696_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 330, + "w": 40, + "h": 30 + } + }, { "filename": "696_3", "rotated": false, @@ -2859,7 +2943,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 330, "w": 40, "h": 30 @@ -2880,7 +2964,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 330, "w": 40, "h": 30 @@ -2901,7 +2985,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 330, "w": 40, "h": 30 @@ -2922,7 +3006,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 330, "w": 40, "h": 30 @@ -2943,7 +3027,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 440, "y": 330, "w": 40, "h": 30 @@ -2964,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -2985,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3006,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -3027,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -3048,7 +3132,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 360, "w": 40, "h": 30 @@ -3069,7 +3153,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 360, "w": 40, "h": 30 @@ -3090,7 +3174,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 360, "w": 40, "h": 30 @@ -3111,7 +3195,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 360, "w": 40, "h": 30 @@ -3132,7 +3216,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 360, "w": 40, "h": 30 @@ -3153,7 +3237,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 360, "w": 40, "h": 30 @@ -3174,7 +3258,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3195,7 +3279,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3216,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3237,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3258,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3279,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3300,7 +3384,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 390, "w": 40, "h": 30 @@ -3321,7 +3405,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 390, "w": 40, "h": 30 @@ -3342,7 +3426,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 390, "w": 40, "h": 30 @@ -3363,7 +3447,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 390, "w": 40, "h": 30 @@ -3384,7 +3468,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 390, "w": 40, "h": 30 @@ -3405,7 +3489,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 390, "w": 40, "h": 30 @@ -3426,7 +3510,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3447,7 +3531,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3468,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 390, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3489,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 390, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3510,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 390, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -3531,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3552,7 +3636,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 420, "w": 40, "h": 30 @@ -3573,7 +3657,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 420, "w": 40, "h": 30 @@ -3594,7 +3678,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 420, "w": 40, "h": 30 @@ -3615,7 +3699,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 420, "w": 40, "h": 30 @@ -3636,7 +3720,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 420, "w": 40, "h": 30 @@ -3657,7 +3741,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 420, "w": 40, "h": 30 @@ -3678,7 +3762,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 420, "w": 40, "h": 30 @@ -3699,7 +3783,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 440, "y": 420, "w": 40, "h": 30 @@ -3719,90 +3803,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 320, - "y": 420, - "w": 40, - "h": 30 - } - }, - { - "filename": "720-unbound_1", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 360, - "y": 420, - "w": 40, - "h": 30 - } - }, - { - "filename": "720-unbound_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 400, - "y": 420, - "w": 40, - "h": 30 - } - }, - { - "filename": "720-unbound_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 440, - "y": 420, - "w": 40, - "h": 30 - } - }, - { - "filename": "720_1", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 450, @@ -3811,7 +3811,7 @@ } }, { - "filename": "720_2", + "filename": "720-unbound_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -3832,7 +3832,7 @@ } }, { - "filename": "720_3", + "filename": "720-unbound_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3853,7 +3853,7 @@ } }, { - "filename": "2670_2", + "filename": "720-unbound_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3874,7 +3874,7 @@ } }, { - "filename": "2670_3", + "filename": "720_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -3893,6 +3893,90 @@ "w": 40, "h": 30 } + }, + { + "filename": "720_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "720_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "2670_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "2670_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 450, + "w": 40, + "h": 30 + } } ] } @@ -3900,6 +3984,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:41960148e7a74c451d8ed1c46adc4e09:5dc2b45aa8a432e966da6c4070905be6:8a74f769af240f74b0e67390bbb36c14$" + "smartupdate": "$TexturePacker:SmartUpdate:5779627583192c7b11ac7da6a39690da:ad2bf1b939fe025e3f14c49511ccf058:8a74f769af240f74b0e67390bbb36c14$" } } diff --git a/public/images/pokemon_icons_6v.png b/public/images/pokemon_icons_6v.png index 29d00876b50..d8bd10eaa71 100644 Binary files a/public/images/pokemon_icons_6v.png and b/public/images/pokemon_icons_6v.png differ diff --git a/public/images/pokemon_icons_7v.json b/public/images/pokemon_icons_7v.json index 30e12ce3bb4..d82cc4e3210 100644 --- a/public/images/pokemon_icons_7v.json +++ b/public/images/pokemon_icons_7v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_7v.png", "format": "RGBA8888", "size": { - "w": 440, - "h": 440 + "w": 450, + "h": 450 }, "scale": 1, "frames": [ @@ -304,7 +304,7 @@ } }, { - "filename": "747_2", + "filename": "746-school_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -324,6 +324,90 @@ "h": 30 } }, + { + "filename": "746-school_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "746_1", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "746_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 30, + "w": 40, + "h": 30 + } + }, + { + "filename": "747_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 30, + "w": 40, + "h": 30 + } + }, { "filename": "747_3", "rotated": false, @@ -339,7 +423,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 30, "w": 40, "h": 30 @@ -360,7 +444,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 30, "w": 40, "h": 30 @@ -381,7 +465,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 30, "w": 40, "h": 30 @@ -402,8 +486,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 30, + "x": 0, + "y": 60, "w": 40, "h": 30 } @@ -423,8 +507,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 30, + "x": 40, + "y": 60, "w": 40, "h": 30 } @@ -444,8 +528,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 30, + "x": 80, + "y": 60, "w": 40, "h": 30 } @@ -465,8 +549,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 30, + "x": 120, + "y": 60, "w": 40, "h": 30 } @@ -486,7 +570,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 60, "w": 40, "h": 30 @@ -507,7 +591,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 60, "w": 40, "h": 30 @@ -528,7 +612,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 60, "w": 40, "h": 30 @@ -549,7 +633,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 60, "w": 40, "h": 30 @@ -570,7 +654,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 60, "w": 40, "h": 30 @@ -591,7 +675,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 60, "w": 40, "h": 30 @@ -612,7 +696,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 60, "w": 40, "h": 30 @@ -633,8 +717,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 60, + "x": 0, + "y": 90, "w": 40, "h": 30 } @@ -654,8 +738,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 60, + "x": 40, + "y": 90, "w": 40, "h": 30 } @@ -675,8 +759,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 60, + "x": 80, + "y": 90, "w": 40, "h": 30 } @@ -696,8 +780,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 60, + "x": 120, + "y": 90, "w": 40, "h": 30 } @@ -717,7 +801,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 90, "w": 40, "h": 30 @@ -738,7 +822,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 90, "w": 40, "h": 30 @@ -759,7 +843,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 90, "w": 40, "h": 30 @@ -780,7 +864,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 90, "w": 40, "h": 30 @@ -801,7 +885,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 90, "w": 40, "h": 30 @@ -822,7 +906,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 90, "w": 40, "h": 30 @@ -843,7 +927,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 90, "w": 40, "h": 30 @@ -864,8 +948,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 90, + "x": 0, + "y": 120, "w": 40, "h": 30 } @@ -885,8 +969,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 90, + "x": 40, + "y": 120, "w": 40, "h": 30 } @@ -906,8 +990,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 90, + "x": 80, + "y": 120, "w": 40, "h": 30 } @@ -927,8 +1011,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 90, + "x": 120, + "y": 120, "w": 40, "h": 30 } @@ -948,7 +1032,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 120, "w": 40, "h": 30 @@ -969,7 +1053,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 120, "w": 40, "h": 30 @@ -990,7 +1074,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 120, "w": 40, "h": 30 @@ -1011,7 +1095,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 120, "w": 40, "h": 30 @@ -1032,7 +1116,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 120, "w": 40, "h": 30 @@ -1053,7 +1137,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 120, "w": 40, "h": 30 @@ -1074,7 +1158,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 120, "w": 40, "h": 30 @@ -1095,8 +1179,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 120, + "x": 0, + "y": 150, "w": 40, "h": 30 } @@ -1116,8 +1200,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 120, + "x": 40, + "y": 150, "w": 40, "h": 30 } @@ -1137,8 +1221,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 120, + "x": 80, + "y": 150, "w": 40, "h": 30 } @@ -1158,8 +1242,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 120, + "x": 120, + "y": 150, "w": 40, "h": 30 } @@ -1179,7 +1263,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 150, "w": 40, "h": 30 @@ -1200,7 +1284,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 150, "w": 40, "h": 30 @@ -1221,7 +1305,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 150, "w": 40, "h": 30 @@ -1242,7 +1326,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 150, "w": 40, "h": 30 @@ -1263,7 +1347,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 150, "w": 40, "h": 30 @@ -1284,7 +1368,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1305,7 +1389,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 150, "w": 40, "h": 30 @@ -1326,8 +1410,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 150, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1347,8 +1431,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1368,8 +1452,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1389,8 +1473,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1410,7 +1494,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 180, "w": 40, "h": 30 @@ -1431,7 +1515,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 180, "w": 40, "h": 30 @@ -1452,7 +1536,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1473,7 +1557,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1494,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1515,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1536,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 180, "w": 40, "h": 30 @@ -1557,8 +1641,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1578,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1599,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 80, + "y": 210, "w": 40, "h": 30 } @@ -1620,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 120, + "y": 210, "w": 40, "h": 30 } @@ -1641,7 +1725,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 210, "w": 40, "h": 30 @@ -1662,7 +1746,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 210, "w": 40, "h": 30 @@ -1683,7 +1767,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 240, "y": 210, "w": 40, "h": 30 @@ -1704,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 280, "y": 210, "w": 40, "h": 30 @@ -1725,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -1746,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -1767,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -1788,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -1809,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -1830,8 +1914,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 80, + "y": 240, "w": 40, "h": 30 } @@ -1851,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 120, + "y": 240, "w": 40, "h": 30 } @@ -1872,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 160, "y": 240, "w": 40, "h": 30 @@ -1893,12 +1977,180 @@ "h": 30 }, "frame": { - "x": 40, + "x": 200, "y": 240, "w": 40, "h": 30 } }, + { + "filename": "780_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "780_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "782_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "782_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "783_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 240, + "w": 40, + "h": 30 + } + }, + { + "filename": "783_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "784_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 270, + "w": 40, + "h": 30 + } + }, + { + "filename": "784_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 270, + "w": 40, + "h": 30 + } + }, { "filename": "789_1", "rotated": false, @@ -1914,8 +2166,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 240, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -1935,8 +2187,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -1956,8 +2208,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -1977,8 +2229,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -1998,8 +2250,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2019,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 320, + "y": 270, "w": 40, "h": 30 } @@ -2040,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 360, + "y": 270, "w": 40, "h": 30 } @@ -2061,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 400, + "y": 270, "w": 40, "h": 30 } @@ -2082,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2103,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2124,8 +2376,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 270, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2145,8 +2397,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 270, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2166,8 +2418,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2187,8 +2439,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2208,8 +2460,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2229,8 +2481,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2250,8 +2502,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2271,8 +2523,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2292,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 400, + "y": 300, "w": 40, "h": 30 } @@ -2313,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2334,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2355,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 300, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2376,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 300, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2397,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2418,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -2439,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -2460,8 +2712,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -2481,8 +2733,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -2502,8 +2754,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -2523,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 400, + "y": 330, "w": 40, "h": 30 } @@ -2544,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -2565,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -2586,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -2607,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -2628,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -2649,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -2670,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -2691,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -2712,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -2733,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -2754,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 400, + "y": 360, "w": 40, "h": 30 } @@ -2775,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -2796,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -2817,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -2838,8 +3090,92 @@ "h": 30 }, "frame": { - "x": 80, - "y": 360, + "x": 120, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2037_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2037_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2038_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 390, + "w": 40, + "h": 30 + } + }, + { + "filename": "2038_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -2859,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -2880,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -2901,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 400, + "y": 390, "w": 40, "h": 30 } @@ -2922,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -2943,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -2964,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -2976,6 +3312,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:914c9869d6dab145bbbe443bdc3f932c:80b9ecf9647b68af17c07b88e1a1856e:d5975df27e1e94206a68aa1fd3c2c8d0$" + "smartupdate": "$TexturePacker:SmartUpdate:57eaade41c16d492ffda5339ea142c4d:b96a0f88bd707a9967af73e7bdf13031:d5975df27e1e94206a68aa1fd3c2c8d0$" } } diff --git a/public/images/pokemon_icons_7v.png b/public/images/pokemon_icons_7v.png index 1f7d6e5f826..12c81de925c 100644 Binary files a/public/images/pokemon_icons_7v.png and b/public/images/pokemon_icons_7v.png differ diff --git a/public/images/pokemon_icons_8v.json b/public/images/pokemon_icons_8v.json index a33f88e9d9b..0693e76e9d1 100644 --- a/public/images/pokemon_icons_8v.json +++ b/public/images/pokemon_icons_8v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_8v.png", "format": "RGBA8888", "size": { - "w": 510, - "h": 510 + "w": 520, + "h": 520 }, "scale": 1, "frames": [ @@ -276,8 +276,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 30, + "x": 480, + "y": 0, "w": 40, "h": 30 } @@ -297,7 +297,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 0, "y": 30, "w": 40, "h": 30 @@ -318,7 +318,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 40, "y": 30, "w": 40, "h": 30 @@ -339,7 +339,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 80, "y": 30, "w": 40, "h": 30 @@ -360,7 +360,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 120, "y": 30, "w": 40, "h": 30 @@ -381,7 +381,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 160, "y": 30, "w": 40, "h": 30 @@ -402,7 +402,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 200, "y": 30, "w": 40, "h": 30 @@ -423,7 +423,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 240, "y": 30, "w": 40, "h": 30 @@ -444,7 +444,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 280, "y": 30, "w": 40, "h": 30 @@ -465,7 +465,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 320, "y": 30, "w": 40, "h": 30 @@ -486,7 +486,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 360, "y": 30, "w": 40, "h": 30 @@ -507,7 +507,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 400, "y": 30, "w": 40, "h": 30 @@ -528,8 +528,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 60, + "x": 440, + "y": 30, "w": 40, "h": 30 } @@ -549,8 +549,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 60, + "x": 480, + "y": 30, "w": 40, "h": 30 } @@ -570,7 +570,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 0, "y": 60, "w": 40, "h": 30 @@ -591,7 +591,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 40, "y": 60, "w": 40, "h": 30 @@ -612,7 +612,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 80, "y": 60, "w": 40, "h": 30 @@ -633,7 +633,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 120, "y": 60, "w": 40, "h": 30 @@ -654,7 +654,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 160, "y": 60, "w": 40, "h": 30 @@ -675,7 +675,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 200, "y": 60, "w": 40, "h": 30 @@ -696,7 +696,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 240, "y": 60, "w": 40, "h": 30 @@ -717,7 +717,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 280, "y": 60, "w": 40, "h": 30 @@ -738,7 +738,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 320, "y": 60, "w": 40, "h": 30 @@ -759,7 +759,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 360, "y": 60, "w": 40, "h": 30 @@ -780,8 +780,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 90, + "x": 400, + "y": 60, "w": 40, "h": 30 } @@ -801,8 +801,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 90, + "x": 440, + "y": 60, "w": 40, "h": 30 } @@ -822,8 +822,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 90, + "x": 480, + "y": 60, "w": 40, "h": 30 } @@ -843,7 +843,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 0, "y": 90, "w": 40, "h": 30 @@ -864,7 +864,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 40, "y": 90, "w": 40, "h": 30 @@ -885,7 +885,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 80, "y": 90, "w": 40, "h": 30 @@ -906,7 +906,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 120, "y": 90, "w": 40, "h": 30 @@ -927,7 +927,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 160, "y": 90, "w": 40, "h": 30 @@ -948,7 +948,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 200, "y": 90, "w": 40, "h": 30 @@ -969,7 +969,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 240, "y": 90, "w": 40, "h": 30 @@ -990,7 +990,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 280, "y": 90, "w": 40, "h": 30 @@ -1011,7 +1011,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 320, "y": 90, "w": 40, "h": 30 @@ -1032,8 +1032,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 120, + "x": 360, + "y": 90, "w": 40, "h": 30 } @@ -1053,8 +1053,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 120, + "x": 400, + "y": 90, "w": 40, "h": 30 } @@ -1074,8 +1074,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 120, + "x": 440, + "y": 90, "w": 40, "h": 30 } @@ -1095,8 +1095,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 120, + "x": 480, + "y": 90, "w": 40, "h": 30 } @@ -1116,7 +1116,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 0, "y": 120, "w": 40, "h": 30 @@ -1137,7 +1137,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 40, "y": 120, "w": 40, "h": 30 @@ -1158,7 +1158,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 80, "y": 120, "w": 40, "h": 30 @@ -1179,7 +1179,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 120, "y": 120, "w": 40, "h": 30 @@ -1200,7 +1200,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 160, "y": 120, "w": 40, "h": 30 @@ -1221,7 +1221,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 200, "y": 120, "w": 40, "h": 30 @@ -1242,7 +1242,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 240, "y": 120, "w": 40, "h": 30 @@ -1263,7 +1263,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 280, "y": 120, "w": 40, "h": 30 @@ -1284,8 +1284,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 150, + "x": 320, + "y": 120, "w": 40, "h": 30 } @@ -1305,8 +1305,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 150, + "x": 360, + "y": 120, "w": 40, "h": 30 } @@ -1326,8 +1326,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 150, + "x": 400, + "y": 120, "w": 40, "h": 30 } @@ -1347,8 +1347,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 150, + "x": 440, + "y": 120, "w": 40, "h": 30 } @@ -1368,8 +1368,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 150, + "x": 480, + "y": 120, "w": 40, "h": 30 } @@ -1389,7 +1389,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 0, "y": 150, "w": 40, "h": 30 @@ -1410,7 +1410,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 40, "y": 150, "w": 40, "h": 30 @@ -1431,7 +1431,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 80, "y": 150, "w": 40, "h": 30 @@ -1452,7 +1452,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 120, "y": 150, "w": 40, "h": 30 @@ -1473,7 +1473,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 160, "y": 150, "w": 40, "h": 30 @@ -1494,7 +1494,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 200, "y": 150, "w": 40, "h": 30 @@ -1515,7 +1515,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 240, "y": 150, "w": 40, "h": 30 @@ -1536,8 +1536,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 180, + "x": 280, + "y": 150, "w": 40, "h": 30 } @@ -1557,8 +1557,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 180, + "x": 320, + "y": 150, "w": 40, "h": 30 } @@ -1578,8 +1578,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 180, + "x": 360, + "y": 150, "w": 40, "h": 30 } @@ -1599,8 +1599,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 180, + "x": 400, + "y": 150, "w": 40, "h": 30 } @@ -1620,8 +1620,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 180, + "x": 440, + "y": 150, "w": 40, "h": 30 } @@ -1641,8 +1641,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 180, + "x": 480, + "y": 150, "w": 40, "h": 30 } @@ -1662,7 +1662,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 0, "y": 180, "w": 40, "h": 30 @@ -1683,7 +1683,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 40, "y": 180, "w": 40, "h": 30 @@ -1704,7 +1704,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 80, "y": 180, "w": 40, "h": 30 @@ -1725,7 +1725,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 120, "y": 180, "w": 40, "h": 30 @@ -1746,7 +1746,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 160, "y": 180, "w": 40, "h": 30 @@ -1767,7 +1767,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 200, "y": 180, "w": 40, "h": 30 @@ -1788,8 +1788,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 210, + "x": 240, + "y": 180, "w": 40, "h": 30 } @@ -1809,8 +1809,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 210, + "x": 280, + "y": 180, "w": 40, "h": 30 } @@ -1830,8 +1830,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 210, + "x": 320, + "y": 180, "w": 40, "h": 30 } @@ -1851,8 +1851,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1872,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 400, + "y": 180, "w": 40, "h": 30 } @@ -1893,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 210, + "x": 440, + "y": 180, "w": 40, "h": 30 } @@ -1914,8 +1914,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 210, + "x": 480, + "y": 180, "w": 40, "h": 30 } @@ -1935,7 +1935,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 0, "y": 210, "w": 40, "h": 30 @@ -1956,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 40, "y": 210, "w": 40, "h": 30 @@ -1977,7 +1977,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 80, "y": 210, "w": 40, "h": 30 @@ -1998,7 +1998,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 120, "y": 210, "w": 40, "h": 30 @@ -2019,7 +2019,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 160, "y": 210, "w": 40, "h": 30 @@ -2040,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 240, + "x": 200, + "y": 210, "w": 40, "h": 30 } @@ -2061,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 240, + "x": 240, + "y": 210, "w": 40, "h": 30 } @@ -2082,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 240, + "x": 280, + "y": 210, "w": 40, "h": 30 } @@ -2103,8 +2103,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 320, + "y": 210, "w": 40, "h": 30 } @@ -2124,8 +2124,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 360, + "y": 210, "w": 40, "h": 30 } @@ -2145,8 +2145,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 400, + "y": 210, "w": 40, "h": 30 } @@ -2166,8 +2166,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 440, + "y": 210, "w": 40, "h": 30 } @@ -2187,8 +2187,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 480, + "y": 210, "w": 40, "h": 30 } @@ -2208,7 +2208,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 0, "y": 240, "w": 40, "h": 30 @@ -2229,7 +2229,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 40, "y": 240, "w": 40, "h": 30 @@ -2250,7 +2250,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 80, "y": 240, "w": 40, "h": 30 @@ -2271,7 +2271,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 120, "y": 240, "w": 40, "h": 30 @@ -2292,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 270, + "x": 160, + "y": 240, "w": 40, "h": 30 } @@ -2313,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 270, + "x": 200, + "y": 240, "w": 40, "h": 30 } @@ -2334,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 270, + "x": 240, + "y": 240, "w": 40, "h": 30 } @@ -2355,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 280, + "y": 240, "w": 40, "h": 30 } @@ -2376,8 +2376,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 320, + "y": 240, "w": 40, "h": 30 } @@ -2397,8 +2397,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 360, + "y": 240, "w": 40, "h": 30 } @@ -2418,8 +2418,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 400, + "y": 240, "w": 40, "h": 30 } @@ -2439,8 +2439,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 440, + "y": 240, "w": 40, "h": 30 } @@ -2460,8 +2460,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 480, + "y": 240, "w": 40, "h": 30 } @@ -2481,7 +2481,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 0, "y": 270, "w": 40, "h": 30 @@ -2502,7 +2502,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 40, "y": 270, "w": 40, "h": 30 @@ -2523,7 +2523,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 80, "y": 270, "w": 40, "h": 30 @@ -2544,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 300, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -2565,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 300, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -2586,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 300, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -2607,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -2628,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2649,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 320, + "y": 270, "w": 40, "h": 30 } @@ -2670,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 360, + "y": 270, "w": 40, "h": 30 } @@ -2691,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 400, + "y": 270, "w": 40, "h": 30 } @@ -2712,8 +2712,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 440, + "y": 270, "w": 40, "h": 30 } @@ -2733,8 +2733,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 480, + "y": 270, "w": 40, "h": 30 } @@ -2754,7 +2754,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 0, "y": 300, "w": 40, "h": 30 @@ -2775,7 +2775,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 40, "y": 300, "w": 40, "h": 30 @@ -2796,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 330, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2817,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 330, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2838,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 330, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2859,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2880,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2901,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2922,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2943,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2964,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 400, + "y": 300, "w": 40, "h": 30 } @@ -2985,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 440, + "y": 300, "w": 40, "h": 30 } @@ -3006,8 +3006,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 480, + "y": 300, "w": 40, "h": 30 } @@ -3027,7 +3027,7 @@ "h": 30 }, "frame": { - "x": 440, + "x": 0, "y": 330, "w": 40, "h": 30 @@ -3048,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 360, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -3069,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 360, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -3090,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 360, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -3111,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -3132,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -3153,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -3174,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -3195,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -3216,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -3237,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 400, + "y": 330, "w": 40, "h": 30 } @@ -3258,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 440, + "y": 330, "w": 40, "h": 30 } @@ -3279,8 +3279,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 480, + "y": 330, "w": 40, "h": 30 } @@ -3301,7 +3301,7 @@ }, "frame": { "x": 0, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3322,7 +3322,7 @@ }, "frame": { "x": 40, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3343,7 +3343,7 @@ }, "frame": { "x": 80, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3364,7 +3364,7 @@ }, "frame": { "x": 120, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3385,7 +3385,7 @@ }, "frame": { "x": 160, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3406,7 +3406,7 @@ }, "frame": { "x": 200, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3427,7 +3427,7 @@ }, "frame": { "x": 240, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3448,7 +3448,7 @@ }, "frame": { "x": 280, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3469,7 +3469,7 @@ }, "frame": { "x": 320, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3490,7 +3490,7 @@ }, "frame": { "x": 360, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3511,7 +3511,7 @@ }, "frame": { "x": 400, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3532,7 +3532,7 @@ }, "frame": { "x": 440, - "y": 390, + "y": 360, "w": 40, "h": 30 } @@ -3552,8 +3552,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 420, + "x": 480, + "y": 360, "w": 40, "h": 30 } @@ -3573,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 420, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3594,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 420, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3615,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 420, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3636,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 420, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3657,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 420, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3678,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 420, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3699,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 420, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3720,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 420, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3741,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 420, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3762,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 420, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3783,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 400, + "y": 390, "w": 40, "h": 30 } @@ -3804,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 450, + "x": 440, + "y": 390, "w": 40, "h": 30 } @@ -3825,8 +3825,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 450, + "x": 480, + "y": 390, "w": 40, "h": 30 } @@ -3846,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 80, - "y": 450, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3867,8 +3867,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 450, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3888,8 +3888,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 450, + "x": 80, + "y": 420, "w": 40, "h": 30 } @@ -3909,8 +3909,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 450, + "x": 120, + "y": 420, "w": 40, "h": 30 } @@ -3930,8 +3930,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 450, + "x": 160, + "y": 420, "w": 40, "h": 30 } @@ -3951,8 +3951,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 450, + "x": 200, + "y": 420, "w": 40, "h": 30 } @@ -3972,8 +3972,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 450, + "x": 240, + "y": 420, "w": 40, "h": 30 } @@ -3993,8 +3993,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 450, + "x": 280, + "y": 420, "w": 40, "h": 30 } @@ -4014,8 +4014,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 450, + "x": 320, + "y": 420, "w": 40, "h": 30 } @@ -4035,8 +4035,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 450, + "x": 360, + "y": 420, "w": 40, "h": 30 } @@ -4056,8 +4056,8 @@ "h": 30 }, "frame": { - "x": 0, - "y": 480, + "x": 400, + "y": 420, "w": 40, "h": 30 } @@ -4077,8 +4077,8 @@ "h": 30 }, "frame": { - "x": 40, - "y": 480, + "x": 440, + "y": 420, "w": 40, "h": 30 } @@ -4098,11 +4098,53 @@ "h": 30 }, "frame": { - "x": 80, - "y": 480, + "x": 480, + "y": 420, "w": 40, "h": 30 } + }, + { + "filename": "871_1", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 43, + "h": 43 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 43, + "h": 43 + }, + "frame": { + "x": 0, + "y": 450, + "w": 43, + "h": 43 + } + }, + { + "filename": "871_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 43, + "h": 43 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 43, + "h": 43 + }, + "frame": { + "x": 43, + "y": 450, + "w": 43, + "h": 43 + } } ] } @@ -4110,6 +4152,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c6192164d1b1971f54a6c5864e11748d:46b3adcf2a25bfb824db3d24cd1c96a9:ec5f05e7f30cd98f74db0c2326109fd3$" + "smartupdate": "$TexturePacker:SmartUpdate:b19669ded7d4ac74c9b66946a18a8ddb:63ad6fc80832ef3907fc171ae5297b3e:ec5f05e7f30cd98f74db0c2326109fd3$" } } diff --git a/public/images/pokemon_icons_8v.png b/public/images/pokemon_icons_8v.png index 2af86ac656f..1027406c9f1 100644 Binary files a/public/images/pokemon_icons_8v.png and b/public/images/pokemon_icons_8v.png differ diff --git a/public/images/pokemon_icons_9v.json b/public/images/pokemon_icons_9v.json index 6c8b93208e3..57159a3fbfb 100644 --- a/public/images/pokemon_icons_9v.json +++ b/public/images/pokemon_icons_9v.json @@ -3291,6 +3291,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c13ec323095f727665fa953e64e98300:e7531bea9b5e1bef44def5b357c81630:3ec5c0bc286c296cfb7fa30a8b06f3da$" + "smartupdate": "$TexturePacker:SmartUpdate:c01add1e11aabd2f8931110a67a9222b:e7531bea9b5e1bef44def5b357c81630:3ec5c0bc286c296cfb7fa30a8b06f3da$" } } diff --git a/public/images/pokemon_icons_9v.png b/public/images/pokemon_icons_9v.png index f71b6c5ada5..f3530abe569 100644 Binary files a/public/images/pokemon_icons_9v.png and b/public/images/pokemon_icons_9v.png differ diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 8fe6c85263d..db036847994 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -7,7 +7,6 @@ import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import { fixedInt, - deepMergeObjects, getIvsFromId, randSeedInt, getEnumValues, @@ -19,6 +18,7 @@ import { BooleanHolder, type Constructor, } from "#app/utils/common"; +import { deepMergeSpriteData } from "#app/utils/data"; import type { Modifier, ModifierPredicate, TurnHeldItemTransferModifier } from "./modifier/modifier"; import { ConsumableModifier, @@ -787,7 +787,7 @@ export default class BattleScene extends SceneBase { return; } const expVariantData = await this.cachedFetch("./images/pokemon/variant/_exp_masterlist.json").then(r => r.json()); - deepMergeObjects(variantData, expVariantData); + deepMergeSpriteData(variantData, expVariantData); } cachedFetch(url: string, init?: RequestInit): Promise { @@ -835,6 +835,7 @@ export default class BattleScene extends SceneBase { return this.getPlayerField().find(p => p.isActive() && (includeSwitching || p.switchOutStatus === false)); } + // TODO: Add `undefined` to return type /** * Returns an array of PlayerPokemon of length 1 or 2 depending on if in a double battle or not. * Does not actually check if the pokemon are on the field or not. @@ -850,9 +851,9 @@ export default class BattleScene extends SceneBase { } /** - * @returns The first {@linkcode EnemyPokemon} that is {@linkcode getEnemyField on the field} - * and {@linkcode EnemyPokemon.isActive is active} - * (aka {@linkcode EnemyPokemon.isAllowedInBattle is allowed in battle}), + * @returns The first {@linkcode EnemyPokemon} that is {@linkcode getEnemyField | on the field} + * and {@linkcode EnemyPokemon.isActive | is active} + * (aka {@linkcode EnemyPokemon.isAllowedInBattle | is allowed in battle}), * or `undefined` if there are no valid pokemon * @param includeSwitching Whether a pokemon that is currently switching out is valid, default `true` */ @@ -873,8 +874,8 @@ export default class BattleScene extends SceneBase { /** * Returns an array of Pokemon on both sides of the battle - player first, then enemy. * Does not actually check if the pokemon are on the field or not, and always has length 4 regardless of battle type. - * @param activeOnly Whether to consider only active pokemon - * @returns array of {@linkcode Pokemon} + * @param activeOnly - Whether to consider only active pokemon; default `false` + * @returns An array of {@linkcode Pokemon}, as described above. */ public getField(activeOnly = false): Pokemon[] { const ret = new Array(4).fill(null); @@ -1307,14 +1308,13 @@ export default class BattleScene extends SceneBase { return isNewBiome; } - // TODO: ...this never actually returns `null`, right? newBattle( waveIndex?: number, battleType?: BattleType, trainerData?: TrainerData, double?: boolean, mysteryEncounterType?: MysteryEncounterType, - ): Battle | null { + ): Battle { const _startingWave = Overrides.STARTING_WAVE_OVERRIDE || startingWave; const newWaveIndex = waveIndex || (this.currentBattle?.waveIndex || _startingWave - 1) + 1; let newDouble: boolean | undefined; @@ -1496,7 +1496,7 @@ export default class BattleScene extends SceneBase { }); for (const pokemon of this.getPlayerParty()) { - pokemon.resetBattleData(); + pokemon.resetBattleAndWaveData(); pokemon.resetTera(); applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon); if ( @@ -3264,6 +3264,7 @@ export default class BattleScene extends SceneBase { [this.modifierBar, this.enemyModifierBar].map(m => m.setVisible(visible)); } + // TODO: Document this updateModifiers(player = true, instant?: boolean): void { const modifiers = player ? this.modifiers : (this.enemyModifiers as PersistentModifier[]); for (let m = 0; m < modifiers.length; m++) { @@ -3316,8 +3317,8 @@ export default class BattleScene extends SceneBase { * gets removed. This function does NOT apply in-battle effects, such as Unburden. * If in-battle effects are needed, use {@linkcode Pokemon.loseHeldItem} instead. * @param modifier The item to be removed. - * @param enemy If `true`, remove an item owned by the enemy. If `false`, remove an item owned by the player. Default is `false`. - * @returns `true` if the item exists and was successfully removed, `false` otherwise. + * @param enemy `true` to remove an item owned by the enemy rather than the player; default `false`. + * @returns `true` if the item exists and was successfully removed, `false` otherwise */ removeModifier(modifier: PersistentModifier, enemy = false): boolean { const modifiers = !enemy ? this.modifiers : this.enemyModifiers; diff --git a/src/constants.ts b/src/constants.ts index dc901e4a766..d3594c389b6 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -14,3 +14,6 @@ export const MAX_INT_ATTR_VALUE = 0x80000000; export const CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180] as const; /** The min and max waves for mystery encounters to spawn in challenge mode */ export const CHALLENGE_MODE_MYSTERY_ENCOUNTER_WAVES: [number, number] = [10, 180] as const; + +/** The raw percentage power boost for type boost items*/ +export const TYPE_BOOST_ITEM_BOOST_PERCENT = 20; diff --git a/src/data/abilities/ab-attrs/ab-attr.ts b/src/data/abilities/ab-attrs/ab-attr.ts index a653c3f372d..24fbb6dc338 100644 --- a/src/data/abilities/ab-attrs/ab-attr.ts +++ b/src/data/abilities/ab-attrs/ab-attr.ts @@ -6,6 +6,10 @@ export abstract class AbAttr { public showAbility: boolean; private extraCondition: AbAttrCondition; + /** + * @param showAbility - Whether to show this ability as a flyout during battle; default `true`. + * Should be kept in parity with mainline where possible. + */ constructor(showAbility = true) { this.showAbility = showAbility; } diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 80b05b89d16..1cb19e57533 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -14,7 +14,6 @@ import { SelfStatusMove, VariablePowerAttr, applyMoveAttrs, - VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, @@ -61,6 +60,11 @@ import { SwitchType } from "#enums/switch-type"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; +import type { BerryType } from "#enums/berry-type"; +import { CommonAnimPhase } from "#app/phases/common-anim-phase"; +import { CommonAnim } from "../battle-anims"; +import { getBerryEffectFunc } from "../berry"; +import { BerryUsedEvent } from "#app/events/battle-scene"; // Type imports @@ -73,6 +77,7 @@ import type { BattlerIndex } from "#app/battle"; import type Move from "#app/data/moves/move"; import type { ArenaTrapTag, SuppressAbilitiesTag } from "#app/data/arena-tag"; import { SelectBiomePhase } from "#app/phases/select-biome-phase"; +import { noAbilityTypeOverrideMoves } from "../moves/invalid-moves"; export class BlockRecoilDamageAttr extends AbAttr { constructor() { @@ -1240,12 +1245,39 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr { super(false); } - override canApplyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon | null, move: Move, args: any[]): boolean { - return (this.condition && this.condition(pokemon, defender, move)) ?? false; + /** + * Determine if the move type change attribute can be applied + * + * Can be applied if: + * - The ability's condition is met, e.g. pixilate only boosts normal moves, + * - The move is not forbidden from having its type changed by an ability, e.g. {@linkcode Moves.MULTI_ATTACK} + * - The user is not terastallized and using tera blast + * - The user is not a terastallized terapagos with tera stellar using tera starstorm + * @param pokemon - The pokemon that has the move type changing ability and is using the attacking move + * @param _passive - Unused + * @param _simulated - Unused + * @param _defender - The pokemon being attacked (unused) + * @param move - The move being used + * @param _args - args[0] holds the type that the move is changed to, args[1] holds the multiplier + * @returns whether the move type change attribute can be applied + */ + override canApplyPreAttack(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _defender: Pokemon | null, move: Move, _args: [NumberHolder?, NumberHolder?, ...any]): boolean { + return (!this.condition || this.condition(pokemon, _defender, move)) && + !noAbilityTypeOverrideMoves.has(move.id) && + (!pokemon.isTerastallized || + (move.id !== Moves.TERA_BLAST && + (move.id !== Moves.TERA_STARSTORM || pokemon.getTeraType() !== PokemonType.STELLAR || !pokemon.hasSpecies(Species.TERAPAGOS)))); } - // TODO: Decouple this into two attributes (type change / power boost) - override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: any[]): void { + /** + * @param pokemon - The pokemon that has the move type changing ability and is using the attacking move + * @param passive - Unused + * @param simulated - Unused + * @param defender - The pokemon being attacked (unused) + * @param move - The move being used + * @param args - args[0] holds the type that the move is changed to, args[1] holds the multiplier + */ + override applyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon, move: Move, args: [NumberHolder?, NumberHolder?, ...any]): void { if (args[0] && args[0] instanceof NumberHolder) { args[0].value = this.newType; } @@ -2648,7 +2680,7 @@ export class PostSummonCopyAllyStatsAbAttr extends PostSummonAbAttr { } /** - * Used by Imposter + * Attribute used by {@linkcode Abilities.IMPOSTER} to transform into a random opposing pokemon on entry. */ export class PostSummonTransformAbAttr extends PostSummonAbAttr { constructor() { @@ -2683,7 +2715,7 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr { const targets = pokemon.getOpponents(); const target = this.getTarget(targets); - if (!!target.summonData?.illusion) { + if (target.summonData.illusion) { return false; } @@ -3265,13 +3297,13 @@ export class ConditionalUserFieldStatusEffectImmunityAbAttr extends UserFieldSta /** * Conditionally provides immunity to stat drop effects to the user's field. - * + * * Used by {@linkcode Abilities.FLOWER_VEIL | Flower Veil}. */ export class ConditionalUserFieldProtectStatAbAttr extends PreStatStageChangeAbAttr { /** {@linkcode BattleStat} to protect or `undefined` if **all** {@linkcode BattleStat} are protected */ protected protectedStat?: BattleStat; - + /** If the method evaluates to true, the stat will be protected. */ protected condition: (target: Pokemon) => boolean; @@ -3288,7 +3320,7 @@ export class ConditionalUserFieldProtectStatAbAttr extends PreStatStageChangeAbA * @param stat The stat being affected * @param cancelled Holds whether the stat change was already prevented. * @param args Args[0] is the target pokemon of the stat change. - * @returns + * @returns */ override canApplyPreStatStageChange(pokemon: Pokemon, passive: boolean, simulated: boolean, stat: BattleStat, cancelled: BooleanHolder, args: [Pokemon, ...any]): boolean { const target = args[0]; @@ -3424,7 +3456,7 @@ export class BonusCritAbAttr extends AbAttr { /** * Apply the bonus crit ability by increasing the value in the provided number holder by 1 - * + * * @param pokemon The pokemon with the BonusCrit ability (unused) * @param passive Unused * @param simulated Unused @@ -3577,7 +3609,7 @@ export class PreWeatherEffectAbAttr extends AbAttr { args: any[]): boolean { return true; } - + applyPreWeatherEffect( pokemon: Pokemon, passive: boolean, @@ -3630,14 +3662,10 @@ export class SuppressWeatherEffectAbAttr extends PreWeatherEffectAbAttr { * Condition function to applied to abilities related to Sheer Force. * Checks if last move used against target was affected by a Sheer Force user and: * Disables: Color Change, Pickpocket, Berserk, Anger Shell - * @returns {AbAttrCondition} If false disables the ability which the condition is applied to. + * @returns An {@linkcode AbAttrCondition} to disable the ability under the proper conditions. */ function getSheerForceHitDisableAbCondition(): AbAttrCondition { return (pokemon: Pokemon) => { - if (!pokemon.turnData) { - return true; - } - const lastReceivedAttack = pokemon.turnData.attacksReceived[0]; if (!lastReceivedAttack) { return true; @@ -3648,7 +3676,7 @@ function getSheerForceHitDisableAbCondition(): AbAttrCondition { return true; } - /**if the last move chance is greater than or equal to cero, and the last attacker's ability is sheer force*/ + /** `true` if the last move's chance is above 0 and the last attacker's ability is sheer force */ const SheerForceAffected = allMoves[lastReceivedAttack.move].chance >= 0 && lastAttacker.hasAbility(Abilities.SHEER_FORCE); return !SheerForceAffected; @@ -3718,7 +3746,7 @@ function getAnticipationCondition(): AbAttrCondition { */ function getOncePerBattleCondition(ability: Abilities): AbAttrCondition { return (pokemon: Pokemon) => { - return !pokemon.battleData?.abilitiesApplied.includes(ability); + return !pokemon.waveData.abilitiesApplied.has(ability); }; } @@ -4007,7 +4035,7 @@ export class PostTurnStatusHealAbAttr extends PostTurnAbAttr { /** * After the turn ends, resets the status of either the ability holder or their ally - * @param {boolean} allyTarget Whether to target ally, defaults to false (self-target) + * @param allyTarget Whether to target ally, defaults to false (self-target) */ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr { private allyTarget: boolean; @@ -4039,79 +4067,153 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr { } /** - * After the turn ends, try to create an extra item + * Attribute to try and restore eaten berries after the turn ends. + * Used by {@linkcode Abilities.HARVEST}. */ -export class PostTurnLootAbAttr extends PostTurnAbAttr { +export class PostTurnRestoreBerryAbAttr extends PostTurnAbAttr { /** - * @param itemType - The type of item to create - * @param procChance - Chance to create an item - * @see {@linkcode applyPostTurn()} + * Array containing all {@linkcode BerryType | BerryTypes} that are under cap and able to be restored. + * Stored inside the class for a minor performance boost + */ + private berriesUnderCap: BerryType[] + + /** + * @param procChance - function providing chance to restore an item + * @see {@linkcode createEatenBerry()} */ constructor( - /** Extend itemType to add more options */ - private itemType: "EATEN_BERRIES" | "HELD_BERRIES", private procChance: (pokemon: Pokemon) => number ) { super(); } - override canApplyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - // Clamp procChance to [0, 1]. Skip if didn't proc (less than pass) - const pass = Phaser.Math.RND.realInRange(0, 1); - return !(Math.max(Math.min(this.procChance(pokemon), 1), 0) < pass) && this.itemType === "EATEN_BERRIES" && !!pokemon.battleData.berriesEaten; - } + override canApplyPostTurn(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): boolean { + // Ensure we have at least 1 recoverable berry (at least 1 berry in berriesEaten is not capped) + const cappedBerries = new Set( + globalScene.getModifiers(BerryModifier, pokemon.isPlayer()).filter( + bm => bm.pokemonId === pokemon.id && bm.getCountUnderMax() < 1 + ).map(bm => bm.berryType) + ); - override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { - this.createEatenBerry(pokemon, simulated); - } + this.berriesUnderCap = pokemon.battleData.berriesEaten.filter( + bt => !cappedBerries.has(bt) + ); - /** - * Create a new berry chosen randomly from the berries the pokemon ate this battle - * @param pokemon The pokemon with this ability - * @param simulated whether the associated ability call is simulated - * @returns whether a new berry was created - */ - createEatenBerry(pokemon: Pokemon, simulated: boolean): boolean { - const berriesEaten = pokemon.battleData.berriesEaten; - - if (!berriesEaten.length) { + if (!this.berriesUnderCap.length) { return false; } - if (simulated) { - return true; + // Clamp procChance to [0, 1]. Skip if didn't proc (less than pass) + const pass = Phaser.Math.RND.realInRange(0, 1); + return Phaser.Math.Clamp(this.procChance(pokemon), 0, 1) >= pass; + } + + override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { + if (!simulated) { + this.createEatenBerry(pokemon); } + } - const randomIdx = randSeedInt(berriesEaten.length); - const chosenBerryType = berriesEaten[randomIdx]; + /** + * Create a new berry chosen randomly from all berries the pokemon ate this battle + * @param pokemon - The {@linkcode Pokemon} with this ability + * @returns `true` if a new berry was created + */ + createEatenBerry(pokemon: Pokemon): boolean { + // Pick a random available berry to yoink + const randomIdx = randSeedInt(this.berriesUnderCap.length); + const chosenBerryType = this.berriesUnderCap[randomIdx]; + pokemon.battleData.berriesEaten.splice(randomIdx, 1); // Remove berry from memory const chosenBerry = new BerryModifierType(chosenBerryType); - berriesEaten.splice(randomIdx); // Remove berry from memory + // Add the randomly chosen berry or update the existing one const berryModifier = globalScene.findModifier( - (m) => m instanceof BerryModifier && m.berryType === chosenBerryType, + (m) => m instanceof BerryModifier && m.berryType === chosenBerryType && m.pokemonId == pokemon.id, pokemon.isPlayer() ) as BerryModifier | undefined; - if (!berryModifier) { + if (berryModifier) { + berryModifier.stackCount++ + } else { const newBerry = new BerryModifier(chosenBerry, pokemon.id, chosenBerryType, 1); if (pokemon.isPlayer()) { globalScene.addModifier(newBerry); } else { globalScene.addEnemyModifier(newBerry); } - } else if (berryModifier.stackCount < berryModifier.getMaxHeldItemCount(pokemon)) { - berryModifier.stackCount++; } - globalScene.queueMessage(i18next.t("abilityTriggers:postTurnLootCreateEatenBerry", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), berryName: chosenBerry.name })); globalScene.updateModifiers(pokemon.isPlayer()); - + globalScene.queueMessage(i18next.t("abilityTriggers:postTurnLootCreateEatenBerry", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), berryName: chosenBerry.name })); return true; } } /** - * Attribute used for {@linkcode Abilities.MOODY} + * Attribute to track and re-trigger last turn's berries at the end of the `BerryPhase`. + * Used by {@linkcode Abilities.CUD_CHEW}. +*/ +export class RepeatBerryNextTurnAbAttr extends PostTurnAbAttr { + /** + * @returns `true` if the pokemon ate anything last turn + */ + override canApply(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): boolean { + // force ability popup for ability triggers on normal turns. + // Still not used if ability doesn't proc + this.showAbility = true; + return !!pokemon.summonData.berriesEatenLast.length; + } + + /** + * Cause this {@linkcode Pokemon} to regurgitate and eat all berries inside its `berriesEatenLast` array. + * Triggers a berry use animation, but does *not* count for other berry or item-related abilities. + * @param pokemon - The {@linkcode Pokemon} having a bad tummy ache + * @param _passive - N/A + * @param _simulated - N/A + * @param _cancelled - N/A + * @param _args - N/A + */ + override apply(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _cancelled: BooleanHolder | null, _args: any[]): void { + globalScene.unshiftPhase( + new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.USE_ITEM), + ); + + // Re-apply effects of all berries previously scarfed. + // This doesn't count as "eating" a berry (for unnerve/stuff cheeks/unburden) as no item is consumed. + for (const berryType of pokemon.summonData.berriesEatenLast) { + getBerryEffectFunc(berryType)(pokemon); + const bMod = new BerryModifier(new BerryModifierType(berryType), pokemon.id, berryType, 1); + globalScene.eventTarget.dispatchEvent(new BerryUsedEvent(bMod)); // trigger message + } + + // uncomment to make cheek pouch work with cud chew + // applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); + } + + /** + * @returns always `true` as we always want to move berries into summon data + */ + override canApplyPostTurn(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): boolean { + this.showAbility = false; // don't show popup for turn end berry moving (should ideally be hidden) + return true; + } + + /** + * Move this {@linkcode Pokemon}'s `berriesEaten` array from `PokemonTurnData` + * into `PokemonSummonData` on turn end. + * Both arrays are cleared on switch. + * @param pokemon - The {@linkcode Pokemon} having a nice snack + * @param _passive - N/A + * @param _simulated - N/A + * @param _args - N/A + */ + override applyPostTurn(pokemon: Pokemon, _passive: boolean, _simulated: boolean, _args: any[]): void { + pokemon.summonData.berriesEatenLast = pokemon.turnData.berriesEaten; + } +} + +/** + * Attribute used for {@linkcode Abilities.MOODY} to randomly raise and lower stats at turn end. */ export class MoodyAbAttr extends PostTurnAbAttr { constructor() { @@ -4205,7 +4307,7 @@ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr { } /** * Deals damage to all sleeping opponents equal to 1/8 of their max hp (min 1) - * @param pokemon Pokemon that has this ability + * @param pokemon {@linkcode Pokemon} with this ability * @param passive N/A * @param simulated `true` if applying in a simulated call. * @param args N/A @@ -4387,7 +4489,7 @@ export class PostItemLostAbAttr extends AbAttr { } /** - * Applies a Battler Tag to the Pokemon after it loses or consumes item + * Applies a Battler Tag to the Pokemon after it loses or consumes an item * @extends PostItemLostAbAttr */ export class PostItemLostApplyBattlerTagAbAttr extends PostItemLostAbAttr { @@ -4476,8 +4578,19 @@ export class DoubleBerryEffectAbAttr extends AbAttr { } } +/** + * Attribute to prevent opposing berry use while on the field. + * Used by {@linkcode Abilities.UNNERVE}, {@linkcode Abilities.AS_ONE_GLASTRIER} and {@linkcode Abilities.AS_ONE_SPECTRIER} + */ export class PreventBerryUseAbAttr extends AbAttr { - override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { + /** + * Prevent use of opposing berries. + * @param _pokemon - Unused + * @param _passive - Unused + * @param _simulated - Unused + * @param cancelled - {@linkcode BooleanHolder} containing whether to block berry use + */ + override apply(_pokemon: Pokemon, _passive: boolean, _simulated: boolean, cancelled: BooleanHolder): void { cancelled.value = true; } } @@ -4499,17 +4612,19 @@ export class HealFromBerryUseAbAttr extends AbAttr { } override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, ...args: [BooleanHolder, any[]]): void { + if (simulated) { + return; + } + const { name: abilityName } = passive ? pokemon.getPassiveAbility() : pokemon.getAbility(); - if (!simulated) { - globalScene.unshiftPhase( - new PokemonHealPhase( - pokemon.getBattlerIndex(), - toDmgValue(pokemon.getMaxHp() * this.healPercent), - i18next.t("abilityTriggers:healFromBerryUse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), - true + globalScene.unshiftPhase( + new PokemonHealPhase( + pokemon.getBattlerIndex(), + toDmgValue(pokemon.getMaxHp() * this.healPercent), + i18next.t("abilityTriggers:healFromBerryUse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName }), + true ) ); - } } } @@ -4541,7 +4656,8 @@ export class CheckTrappedAbAttr extends AbAttr { simulated: boolean, trapped: BooleanHolder, otherPokemon: Pokemon, - args: any[]): boolean { + args: any[], + ): boolean { return true; } @@ -5064,7 +5180,7 @@ export class PostSummonStatStageChangeOnArenaAbAttr extends PostSummonStatStageC /** * Takes no damage from the first hit of a damaging move. * This is used in the Disguise and Ice Face abilities. - * + * * Does not apply to a user's substitute * @extends ReceivedMoveDamageMultiplierAbAttr */ @@ -5149,15 +5265,14 @@ export class IllusionPreSummonAbAttr extends PreSummonAbAttr { } override canApplyPreSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean { - pokemon.initSummondata() - if(pokemon.hasTrainer()){ + if (pokemon.hasTrainer()) { const party: Pokemon[] = (pokemon.isPlayer() ? globalScene.getPlayerParty() : globalScene.getEnemyParty()).filter(p => p.isAllowedInBattle()); const lastPokemon: Pokemon = party.filter(p => p !==pokemon).at(-1) || pokemon; const speciesId = lastPokemon.species.speciesId; // If the last conscious Pokémon in the party is a Terastallized Ogerpon or Terapagos, Illusion will not activate. // Illusion will also not activate if the Pokémon with Illusion is Terastallized and the last Pokémon in the party is Ogerpon or Terapagos. - if ( + if ( lastPokemon === pokemon || ((speciesId === Species.OGERPON || speciesId === Species.TERAPAGOS) && (lastPokemon.isTerastallized || pokemon.isTerastallized)) ) { @@ -5194,7 +5309,7 @@ export class PostDefendIllusionBreakAbAttr extends PostDefendAbAttr { override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean { const breakIllusion: HitResult[] = [ HitResult.EFFECTIVE, HitResult.SUPER_EFFECTIVE, HitResult.NOT_VERY_EFFECTIVE, HitResult.ONE_HIT_KO ]; - return breakIllusion.includes(hitResult) && !!pokemon.summonData?.illusion + return breakIllusion.includes(hitResult) && !!pokemon.summonData.illusion } } @@ -5415,11 +5530,8 @@ function applySingleAbAttrs( globalScene.queueAbilityDisplay(pokemon, passive, false); } - if (pokemon.summonData && !pokemon.summonData.abilitiesApplied.includes(ability.id)) { - pokemon.summonData.abilitiesApplied.push(ability.id); - } - if (pokemon.battleData && !simulated && !pokemon.battleData.abilitiesApplied.includes(ability.id)) { - pokemon.battleData.abilitiesApplied.push(ability.id); + if (!simulated) { + pokemon.waveData.abilitiesApplied.add(ability.id); } globalScene.clearPhaseQueueSplice(); @@ -5610,6 +5722,7 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr { this.hpRatio = hpRatio; } + // TODO: Refactor to use more early returns public override canApplyPostDamage( pokemon: Pokemon, damage: number, @@ -5637,6 +5750,7 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr { if (fordbiddenDefendingMoves.includes(enemyLastMoveUsed.move) || enemyLastMoveUsed.move === Moves.SKY_DROP && enemyLastMoveUsed.result === MoveResult.OTHER) { return false; // Will not activate if the Pokémon's HP falls below half by a move affected by Sheer Force. + // TODO: Make this use the sheer force disable condition } else if (allMoves[enemyLastMoveUsed.move].chance >= 0 && source.hasAbility(Abilities.SHEER_FORCE)) { return false; // Activate only after the last hit of multistrike moves @@ -6299,17 +6413,14 @@ export function applyOnLoseAbAttrs(pokemon: Pokemon, passive = false, simulated /** * Sets the ability of a Pokémon as revealed. - * * @param pokemon - The Pokémon whose ability is being revealed. */ function setAbilityRevealed(pokemon: Pokemon): void { - if (pokemon.battleData) { - pokemon.battleData.abilityRevealed = true; - } + pokemon.waveData.abilityRevealed = true; } /** - * Returns the Pokemon with weather-based forms + * Returns all Pokemon on field with weather-based forms */ function getPokemonWithWeatherBasedForms() { return globalScene.getField(true).filter(p => @@ -6629,9 +6740,7 @@ export function initAbilities() { .conditionalAttr(pokemon => pokemon.status ? pokemon.status.effect === StatusEffect.PARALYSIS : false, StatMultiplierAbAttr, Stat.SPD, 2) .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), StatMultiplierAbAttr, Stat.SPD, 1.5), new Ability(Abilities.NORMALIZE, 4) - .attr(MoveTypeChangeAbAttr, PokemonType.NORMAL, 1.2, (user, target, move) => { - return ![ Moves.MULTI_ATTACK, Moves.REVELATION_DANCE, Moves.TERRAIN_PULSE, Moves.HIDDEN_POWER, Moves.WEATHER_BALL, Moves.NATURAL_GIFT, Moves.JUDGMENT, Moves.TECHNO_BLAST ].includes(move.id); - }), + .attr(MoveTypeChangeAbAttr, PokemonType.NORMAL, 1.2), new Ability(Abilities.SNIPER, 4) .attr(MultCritAbAttr, 1.5), new Ability(Abilities.MAGIC_GUARD, 4) @@ -6759,8 +6868,7 @@ export function initAbilities() { .attr(MovePowerBoostAbAttr, (user, target, move) => move.category === MoveCategory.SPECIAL && user?.status?.effect === StatusEffect.BURN, 1.5), new Ability(Abilities.HARVEST, 5) .attr( - PostTurnLootAbAttr, - "EATEN_BERRIES", + PostTurnRestoreBerryAbAttr, /** Rate is doubled when under sun {@link https://dex.pokemonshowdown.com/abilities/harvest} */ (pokemon) => 0.5 * (getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN)(pokemon) ? 2 : 1) ) @@ -6882,7 +6990,7 @@ export function initAbilities() { .attr(HealFromBerryUseAbAttr, 1 / 3), new Ability(Abilities.PROTEAN, 6) .attr(PokemonTypeChangeAbAttr), - //.condition((p) => !p.summonData?.abilitiesApplied.includes(Abilities.PROTEAN)), //Gen 9 Implementation + //.condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.PROTEAN)), //Gen 9 Implementation new Ability(Abilities.FUR_COAT, 6) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, 0.5) .ignorable(), @@ -6896,7 +7004,7 @@ export function initAbilities() { new Ability(Abilities.STRONG_JAW, 6) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.BITING_MOVE), 1.5), new Ability(Abilities.REFRIGERATE, 6) - .attr(MoveTypeChangeAbAttr, PokemonType.ICE, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.ICE, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.SWEET_VEIL, 6) .attr(UserFieldStatusEffectImmunityAbAttr, StatusEffect.SLEEP) .attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.SLEEP) @@ -6920,11 +7028,11 @@ export function initAbilities() { new Ability(Abilities.TOUGH_CLAWS, 6) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), 1.3), new Ability(Abilities.PIXILATE, 6) - .attr(MoveTypeChangeAbAttr, PokemonType.FAIRY, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.FAIRY, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.GOOEY, 6) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), Stat.SPD, -1, false), new Ability(Abilities.AERILATE, 6) - .attr(MoveTypeChangeAbAttr, PokemonType.FLYING, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.FLYING, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.PARENTAL_BOND, 6) .attr(AddSecondStrikeAbAttr, 0.25), new Ability(Abilities.DARK_AURA, 6) @@ -7001,7 +7109,7 @@ export function initAbilities() { new Ability(Abilities.TRIAGE, 7) .attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.hasFlag(MoveFlags.TRIAGE_MOVE), 3), new Ability(Abilities.GALVANIZE, 7) - .attr(MoveTypeChangeAbAttr, PokemonType.ELECTRIC, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)), + .attr(MoveTypeChangeAbAttr, PokemonType.ELECTRIC, 1.2, (_user, _target, move) => move.type === PokemonType.NORMAL), new Ability(Abilities.SURGE_SURFER, 7) .conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), StatMultiplierAbAttr, Stat.SPD, 2), new Ability(Abilities.SCHOOLING, 7) @@ -7128,7 +7236,7 @@ export function initAbilities() { .attr(PostSummonStatStageChangeAbAttr, [ Stat.DEF ], 1, true), new Ability(Abilities.LIBERO, 8) .attr(PokemonTypeChangeAbAttr), - //.condition((p) => !p.summonData?.abilitiesApplied.includes(Abilities.LIBERO)), //Gen 9 Implementation + //.condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.LIBERO)), //Gen 9 Implementation new Ability(Abilities.BALL_FETCH, 8) .attr(FetchBallAbAttr) .condition(getOncePerBattleCondition(Abilities.BALL_FETCH)), @@ -7343,7 +7451,7 @@ export function initAbilities() { new Ability(Abilities.OPPORTUNIST, 9) .attr(StatStageChangeCopyAbAttr), new Ability(Abilities.CUD_CHEW, 9) - .unimplemented(), + .attr(RepeatBerryNextTurnAbAttr), new Ability(Abilities.SHARPNESS, 9) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.SLICING_MOVE), 1.5), new Ability(Abilities.SUPREME_OVERLORD, 9) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index ff9e4068292..19c94a8a045 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -768,32 +768,27 @@ class SpikesTag extends ArenaTrapTag { } override activateTrap(pokemon: Pokemon, simulated: boolean): boolean { - if (pokemon.isGrounded()) { - const cancelled = new BooleanHolder(false); - applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); - - if (simulated) { - return !cancelled.value; - } - - if (!cancelled.value) { - const damageHpRatio = 1 / (10 - 2 * this.layers); - const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); - - globalScene.queueMessage( - i18next.t("arenaTag:spikesActivateTrap", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); - if (pokemon.turnData) { - pokemon.turnData.damageTaken += damage; - } - return true; - } + if (!pokemon.isGrounded()) { + return false; } - return false; + const cancelled = new BooleanHolder(false); + applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); + if (simulated || cancelled.value) { + return !cancelled.value; + } + + const damageHpRatio = 1 / (10 - 2 * this.layers); + const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); + + globalScene.queueMessage( + i18next.t("arenaTag:spikesActivateTrap", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); + pokemon.turnData.damageTaken += damage; + return true; } } @@ -962,31 +957,28 @@ class StealthRockTag extends ArenaTrapTag { override activateTrap(pokemon: Pokemon, simulated: boolean): boolean { const cancelled = new BooleanHolder(false); applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); - if (cancelled.value) { return false; } const damageHpRatio = this.getDamageHpRatio(pokemon); + if (!damageHpRatio) { + return false; + } - if (damageHpRatio) { - if (simulated) { - return true; - } - const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); - globalScene.queueMessage( - i18next.t("arenaTag:stealthRockActivateTrap", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); - if (pokemon.turnData) { - pokemon.turnData.damageTaken += damage; - } + if (simulated) { return true; } - return false; + const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio); + globalScene.queueMessage( + i18next.t("arenaTag:stealthRockActivateTrap", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); + pokemon.turnData.damageTaken += damage; + return true; } getMatchupScoreMultiplier(pokemon: Pokemon): number { diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index b0e8d5160fa..47898e9e885 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -12,7 +12,7 @@ export const speciesEggMoves = { [Species.WEEDLE]: [ Moves.THOUSAND_ARROWS, Moves.NOXIOUS_TORQUE, Moves.ATTACK_ORDER, Moves.VICTORY_DANCE ], [Species.PIDGEY]: [ Moves.BLEAKWIND_STORM, Moves.SANDSEAR_STORM, Moves.CALM_MIND, Moves.BOOMBURST ], [Species.RATTATA]: [ Moves.HYPER_FANG, Moves.PSYCHIC_FANGS, Moves.FIRE_FANG, Moves.EXTREME_SPEED ], - [Species.SPEAROW]: [ Moves.FLOATY_FALL, Moves.HYPER_DRILL, Moves.TIDY_UP, Moves.TRIPLE_ARROWS ], + [Species.SPEAROW]: [ Moves.FLOATY_FALL, Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.TRIPLE_ARROWS ], [Species.EKANS]: [ Moves.NOXIOUS_TORQUE, Moves.DRAGON_DANCE, Moves.SLACK_OFF, Moves.SHED_TAIL ], [Species.SANDSHREW]: [ Moves.HIGH_HORSEPOWER, Moves.DIRE_CLAW, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ], [Species.NIDORAN_F]: [ Moves.CALM_MIND, Moves.MOONLIGHT, Moves.MALIGNANT_CHAIN, Moves.SANDSEAR_STORM ], @@ -53,7 +53,7 @@ export const speciesEggMoves = { [Species.RHYHORN]: [ Moves.SHORE_UP, Moves.ICE_HAMMER, Moves.ACCELEROCK, Moves.HEAD_SMASH ], [Species.TANGELA]: [ Moves.NATURES_MADNESS, Moves.SNAP_TRAP, Moves.PARTING_SHOT, Moves.SAPPY_SEED ], [Species.KANGASKHAN]: [ Moves.POWER_UP_PUNCH, Moves.TRAILBLAZE, Moves.COVET, Moves.SEISMIC_TOSS ], - [Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.FROST_BREATH, Moves.SLUDGE_BOMB, Moves.CLANGING_SCALES ], + [Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.TAKE_HEART, Moves.SHELL_SIDE_ARM, Moves.DRAGON_ENERGY ], [Species.GOLDEEN]: [ Moves.GLACIAL_LANCE, Moves.SUPERCELL_SLAM, Moves.DRAGON_DANCE, Moves.FISHIOUS_REND ], [Species.STARYU]: [ Moves.CALM_MIND, Moves.BOUNCY_BUBBLE, Moves.MOONBLAST, Moves.MYSTICAL_POWER ], [Species.SCYTHER]: [ Moves.MIGHTY_CLEAVE, Moves.GEAR_GRIND, Moves.STORM_THROW, Moves.BITTER_BLADE ], @@ -66,7 +66,7 @@ export const speciesEggMoves = { [Species.PORYGON]: [ Moves.THUNDERCLAP, Moves.AURA_SPHERE, Moves.FLAMETHROWER, Moves.TECHNO_BLAST ], [Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.GIGA_DRAIN, Moves.POWER_GEM, Moves.STEAM_ERUPTION ], [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.HIGH_HORSEPOWER, Moves.CRABHAMMER, Moves.MIGHTY_CLEAVE ], - [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.FLARE_BLITZ, Moves.SWORDS_DANCE, Moves.MIGHTY_CLEAVE ], + [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.CLOSE_COMBAT, Moves.STONE_AXE, Moves.SWORDS_DANCE ], [Species.ARTICUNO]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ], [Species.ZAPDOS]: [ Moves.BLEAKWIND_STORM, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ], [Species.MOLTRES]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AEROBLAST, Moves.TORCH_SONG ], @@ -78,7 +78,7 @@ export const speciesEggMoves = { [Species.CYNDAQUIL]: [ Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.FIERY_DANCE, Moves.ELECTRO_DRIFT ], [Species.TOTODILE]: [ Moves.THUNDER_PUNCH, Moves.DRAGON_DANCE, Moves.PLAY_ROUGH, Moves.SURGING_STRIKES ], [Species.SENTRET]: [ Moves.TIDY_UP, Moves.FAKE_OUT, Moves.NUZZLE, Moves.EXTREME_SPEED ], - [Species.HOOTHOOT]: [ Moves.CALM_MIND, Moves.ESPER_WING, Moves.AEROBLAST, Moves.BOOMBURST ], + [Species.HOOTHOOT]: [ Moves.TAKE_HEART, Moves.ESPER_WING, Moves.AEROBLAST, Moves.BOOMBURST ], [Species.LEDYBA]: [ Moves.POLLEN_PUFF, Moves.MAT_BLOCK, Moves.PARTING_SHOT, Moves.SPORE ], [Species.SPINARAK]: [ Moves.PARTING_SHOT, Moves.ATTACK_ORDER, Moves.GASTRO_ACID, Moves.STRENGTH_SAP ], [Species.CHINCHOU]: [ Moves.THUNDERCLAP, Moves.BOUNCY_BUBBLE, Moves.THUNDER_CAGE, Moves.TAIL_GLOW ], @@ -166,7 +166,7 @@ export const speciesEggMoves = { [Species.SPOINK]: [ Moves.AURA_SPHERE, Moves.MILK_DRINK, Moves.EXPANDING_FORCE, Moves.TAIL_GLOW ], [Species.SPINDA]: [ Moves.SUPERPOWER, Moves.SLACK_OFF, Moves.FLEUR_CANNON, Moves.V_CREATE ], [Species.TRAPINCH]: [ Moves.FIRE_LASH, Moves.DRAGON_DARTS, Moves.THOUSAND_ARROWS, Moves.DRAGON_ENERGY ], - [Species.CACNEA]: [ Moves.EARTH_POWER, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.SAPPY_SEED ], + [Species.CACNEA]: [ Moves.EARTH_POWER, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.IVY_CUDGEL ], [Species.SWABLU]: [ Moves.ROOST, Moves.NASTY_PLOT, Moves.FLOATY_FALL, Moves.BOOMBURST ], [Species.ZANGOOSE]: [ Moves.FACADE, Moves.HIGH_HORSEPOWER, Moves.EXTREME_SPEED, Moves.TIDY_UP ], [Species.SEVIPER]: [ Moves.ICE_BEAM, Moves.BITTER_BLADE, Moves.SUCKER_PUNCH, Moves.NO_RETREAT ], @@ -222,7 +222,7 @@ export const speciesEggMoves = { [Species.DRIFLOON]: [ Moves.PSYCHO_SHIFT, Moves.MIND_BLOWN, Moves.CALM_MIND, Moves.OBLIVION_WING ], [Species.BUNEARY]: [ Moves.TRIPLE_AXEL, Moves.EXTREME_SPEED, Moves.THUNDEROUS_KICK, Moves.SWORDS_DANCE ], [Species.GLAMEOW]: [ Moves.PARTING_SHOT, Moves.HIGH_HORSEPOWER, Moves.SWORDS_DANCE, Moves.EXTREME_SPEED ], - [Species.CHINGLING]: [ Moves.BUZZY_BUZZ, Moves.EERIE_SPELL, Moves.TORCH_SONG, Moves.BOOMBURST ], + [Species.CHINGLING]: [ Moves.ALLURING_VOICE, Moves.EERIE_SPELL, Moves.TORCH_SONG, Moves.BOOMBURST ], [Species.STUNKY]: [ Moves.CEASELESS_EDGE, Moves.FIRE_LASH, Moves.RECOVER, Moves.DIRE_CLAW ], [Species.BRONZOR]: [ Moves.RECOVER, Moves.TACHYON_CUTTER, Moves.GLARE, Moves.LUMINA_CRASH ], [Species.BONSLY]: [ Moves.ACCELEROCK, Moves.SWORDS_DANCE, Moves.STRENGTH_SAP, Moves.SAPPY_SEED ], @@ -246,7 +246,7 @@ export const speciesEggMoves = { [Species.AZELF]: [ Moves.PSYSTRIKE, Moves.AURA_SPHERE, Moves.ICE_BEAM, Moves.TAIL_GLOW ], [Species.DIALGA]: [ Moves.CORE_ENFORCER, Moves.TAKE_HEART, Moves.RECOVER, Moves.MAKE_IT_RAIN ], [Species.PALKIA]: [ Moves.MALIGNANT_CHAIN, Moves.TAKE_HEART, Moves.RECOVER, Moves.ORIGIN_PULSE ], - [Species.HEATRAN]: [ Moves.MATCHA_GOTCHA, Moves.RECOVER, Moves.ERUPTION, Moves.TACHYON_CUTTER ], + [Species.HEATRAN]: [ Moves.ENERGY_BALL, Moves.RECOVER, Moves.ERUPTION, Moves.TACHYON_CUTTER ], [Species.REGIGIGAS]: [ Moves.SKILL_SWAP, Moves.RECOVER, Moves.EXTREME_SPEED, Moves.GIGATON_HAMMER ], [Species.GIRATINA]: [ Moves.DRAGON_DANCE, Moves.SPECTRAL_THIEF, Moves.RECOVER, Moves.COLLISION_COURSE ], [Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.BODY_PRESS, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ], @@ -284,10 +284,10 @@ export const speciesEggMoves = { [Species.BASCULIN]: [ Moves.LAST_RESPECTS, Moves.CLOSE_COMBAT, Moves.SPLISHY_SPLASH, Moves.NO_RETREAT ], [Species.SANDILE]: [ Moves.DIRE_CLAW, Moves.SUCKER_PUNCH, Moves.FIRE_LASH, Moves.HEADLONG_RUSH ], [Species.DARUMAKA]: [ Moves.DRAIN_PUNCH, Moves.ZIPPY_ZAP, Moves.HEADLONG_RUSH, Moves.PYRO_BALL ], - [Species.MARACTUS]: [ Moves.EARTH_POWER, Moves.QUIVER_DANCE, Moves.FIERY_DANCE, Moves.SEED_FLARE ], + [Species.MARACTUS]: [ Moves.EARTH_POWER, Moves.SIZZLY_SLIDE, Moves.FIERY_DANCE, Moves.QUIVER_DANCE ], [Species.DWEBBLE]: [ Moves.CRABHAMMER, Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.MIGHTY_CLEAVE ], [Species.SCRAGGY]: [ Moves.SUCKER_PUNCH, Moves.BULLET_PUNCH, Moves.NOXIOUS_TORQUE, Moves.VICTORY_DANCE ], - [Species.SIGILYPH]: [ Moves.MOONBLAST, Moves.CALM_MIND, Moves.ESPER_WING, Moves.OBLIVION_WING ], + [Species.SIGILYPH]: [ Moves.MOONBLAST, Moves.PSYCHO_SHIFT, Moves.ESPER_WING, Moves.OBLIVION_WING ], [Species.YAMASK]: [ Moves.STRENGTH_SAP, Moves.GLARE, Moves.AURA_SPHERE, Moves.ASTRAL_BARRAGE ], [Species.TIRTOUGA]: [ Moves.ICE_SPINNER, Moves.AQUA_STEP, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ], [Species.ARCHEN]: [ Moves.ROOST, Moves.EARTHQUAKE, Moves.FLOATY_FALL, Moves.MIGHTY_CLEAVE ], @@ -319,7 +319,7 @@ export const speciesEggMoves = { [Species.DRUDDIGON]: [ Moves.FIRE_LASH, Moves.MORNING_SUN, Moves.DRAGON_DARTS, Moves.CLANGOROUS_SOUL ], [Species.GOLETT]: [ Moves.SHIFT_GEAR, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.RAGE_FIST ], [Species.PAWNIARD]: [ Moves.SUCKER_PUNCH, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE, Moves.LAST_RESPECTS ], - [Species.BOUFFALANT]: [ Moves.SLACK_OFF, Moves.HIGH_JUMP_KICK, Moves.HEAD_SMASH, Moves.FLARE_BLITZ ], + [Species.BOUFFALANT]: [ Moves.HORN_LEECH, Moves.HIGH_JUMP_KICK, Moves.HEAD_SMASH, Moves.FLARE_BLITZ ], [Species.RUFFLET]: [ Moves.FLOATY_FALL, Moves.AURA_SPHERE, Moves.NO_RETREAT, Moves.BOLT_BEAK ], [Species.VULLABY]: [ Moves.FOUL_PLAY, Moves.BODY_PRESS, Moves.ROOST, Moves.RUINATION ], [Species.HEATMOR]: [ Moves.EARTH_POWER, Moves.OVERHEAT, Moves.THUNDERBOLT, Moves.V_CREATE ], @@ -441,7 +441,7 @@ export const speciesEggMoves = { [Species.ALOLA_GEODUDE]: [ Moves.THOUSAND_WAVES, Moves.BULK_UP, Moves.STONE_AXE, Moves.EXTREME_SPEED ], [Species.ALOLA_GRIMER]: [ Moves.SUCKER_PUNCH, Moves.BARB_BARRAGE, Moves.RECOVER, Moves.SURGING_STRIKES ], - [Species.GROOKEY]: [ Moves.HIGH_HORSEPOWER, Moves.CLANGOROUS_SOUL, Moves.GRASSY_GLIDE, Moves.SAPPY_SEED ], + [Species.GROOKEY]: [ Moves.ROCK_SLIDE, Moves.PLAY_ROUGH, Moves.GRASSY_GLIDE, Moves.CLANGOROUS_SOUL ], [Species.SCORBUNNY]: [ Moves.EXTREME_SPEED, Moves.HIGH_JUMP_KICK, Moves.TRIPLE_AXEL, Moves.BOLT_STRIKE ], [Species.SOBBLE]: [ Moves.AEROBLAST, Moves.FROST_BREATH, Moves.ENERGY_BALL, Moves.NASTY_PLOT ], [Species.SKWOVET]: [ Moves.SUCKER_PUNCH, Moves.SLACK_OFF, Moves.COIL, Moves.POPULATION_BOMB ], @@ -457,7 +457,7 @@ export const speciesEggMoves = { [Species.SILICOBRA]: [ Moves.SHORE_UP, Moves.SHED_TAIL, Moves.MOUNTAIN_GALE, Moves.THOUSAND_ARROWS ], [Species.CRAMORANT]: [ Moves.APPLE_ACID, Moves.SURF, Moves.BOLT_BEAK, Moves.OBLIVION_WING ], [Species.ARROKUDA]: [ Moves.SUPERCELL_SLAM, Moves.TRIPLE_DIVE, Moves.ICE_SPINNER, Moves.SWORDS_DANCE ], - [Species.TOXEL]: [ Moves.NASTY_PLOT, Moves.BUG_BUZZ, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], + [Species.TOXEL]: [ Moves.BUZZY_BUZZ, Moves.BUG_BUZZ, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], [Species.SIZZLIPEDE]: [ Moves.BURNING_BULWARK, Moves.ZING_ZAP, Moves.FIRST_IMPRESSION, Moves.BITTER_BLADE ], [Species.CLOBBOPUS]: [ Moves.STORM_THROW, Moves.JET_PUNCH, Moves.MACH_PUNCH, Moves.SURGING_STRIKES ], [Species.SINISTEA]: [ Moves.SPLISHY_SPLASH, Moves.MATCHA_GOTCHA, Moves.DRAINING_KISS, Moves.MOONGEIST_BEAM ], diff --git a/src/data/balance/passives.ts b/src/data/balance/passives.ts index 624e242944b..73310cc2116 100644 --- a/src/data/balance/passives.ts +++ b/src/data/balance/passives.ts @@ -143,7 +143,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.TAUROS]: { 0: Abilities.STAMINA }, [Species.MAGIKARP]: { 0: Abilities.MULTISCALE }, [Species.GYARADOS]: { 0: Abilities.MULTISCALE, 1: Abilities.MULTISCALE }, - [Species.LAPRAS]: { 0: Abilities.LIGHTNING_ROD, 1: Abilities.FILTER }, + [Species.LAPRAS]: { 0: Abilities.FILTER, 1: Abilities.FILTER }, [Species.DITTO]: { 0: Abilities.ADAPTABILITY }, [Species.EEVEE]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP, 2: Abilities.FLUFFY }, [Species.VAPOREON]: { 0: Abilities.REGENERATOR }, @@ -161,7 +161,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.OMASTAR]: { 0: Abilities.STURDY }, [Species.KABUTO]: { 0: Abilities.TOUGH_CLAWS }, [Species.KABUTOPS]: { 0: Abilities.TOUGH_CLAWS }, - [Species.AERODACTYL]: { 0: Abilities.INTIMIDATE, 1: Abilities.INTIMIDATE }, + [Species.AERODACTYL]: { 0: Abilities.INTIMIDATE, 1: Abilities.ROCKY_PAYLOAD }, [Species.ARTICUNO]: { 0: Abilities.SNOW_WARNING }, [Species.ZAPDOS]: { 0: Abilities.DRIZZLE }, [Species.MOLTRES]: { 0: Abilities.DROUGHT }, @@ -506,7 +506,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.SNOVER]: { 0: Abilities.SLUSH_RUSH }, [Species.ABOMASNOW]: { 0: Abilities.SLUSH_RUSH, 1: Abilities.SEED_SOWER }, [Species.ROTOM]: { 0: Abilities.HADRON_ENGINE, 1: Abilities.HADRON_ENGINE, 2: Abilities.HADRON_ENGINE, 3: Abilities.HADRON_ENGINE, 4: Abilities.HADRON_ENGINE, 5: Abilities.HADRON_ENGINE }, - [Species.UXIE]: { 0: Abilities.UNNERVE }, + [Species.UXIE]: { 0: Abilities.ILLUSION }, [Species.MESPRIT]: { 0: Abilities.MOODY }, [Species.AZELF]: { 0: Abilities.NEUROFORCE }, [Species.DIALGA]: { 0: Abilities.BERSERK, 1: Abilities.BERSERK }, @@ -600,8 +600,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.ARCHEOPS]: { 0: Abilities.MULTISCALE }, [Species.TRUBBISH]: { 0: Abilities.NEUTRALIZING_GAS }, [Species.GARBODOR]: { 0: Abilities.NEUTRALIZING_GAS, 1: Abilities.NEUTRALIZING_GAS }, - [Species.ZORUA]: { 0: Abilities.DARK_AURA }, - [Species.ZOROARK]: { 0: Abilities.DARK_AURA }, + [Species.ZORUA]: { 0: Abilities.ADAPTABILITY }, + [Species.ZOROARK]: { 0: Abilities.ADAPTABILITY }, [Species.MINCCINO]: { 0: Abilities.FUR_COAT }, [Species.CINCCINO]: { 0: Abilities.FUR_COAT }, [Species.GOTHITA]: { 0: Abilities.UNNERVE }, @@ -729,8 +729,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.CLAWITZER]: { 0: Abilities.PROTEAN }, [Species.HELIOPTILE]: { 0: Abilities.PROTEAN }, [Species.HELIOLISK]: { 0: Abilities.PROTEAN }, - [Species.TYRUNT]: { 0: Abilities.RECKLESS }, - [Species.TYRANTRUM]: { 0: Abilities.RECKLESS }, + [Species.TYRUNT]: { 0: Abilities.SHEER_FORCE }, + [Species.TYRANTRUM]: { 0: Abilities.SHEER_FORCE }, [Species.AMAURA]: { 0: Abilities.ICE_SCALES }, [Species.AURORUS]: { 0: Abilities.ICE_SCALES }, [Species.HAWLUCHA]: { 0: Abilities.MOXIE }, @@ -744,8 +744,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.KLEFKI]: { 0: Abilities.LEVITATE }, [Species.PHANTUMP]: { 0: Abilities.SHADOW_TAG }, [Species.TREVENANT]: { 0: Abilities.SHADOW_TAG }, - [Species.PUMPKABOO]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.ADAPTABILITY, 2: Abilities.PRANKSTER, 3: Abilities.SEED_SOWER }, - [Species.GOURGEIST]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.ADAPTABILITY, 2: Abilities.PRANKSTER, 3: Abilities.SEED_SOWER }, + [Species.PUMPKABOO]: { 0: Abilities.ILLUMINATE, 1: Abilities.ADAPTABILITY, 2: Abilities.WELL_BAKED_BODY, 3: Abilities.SEED_SOWER }, + [Species.GOURGEIST]: { 0: Abilities.ILLUMINATE, 1: Abilities.ADAPTABILITY, 2: Abilities.WELL_BAKED_BODY, 3: Abilities.SEED_SOWER }, [Species.BERGMITE]: { 0: Abilities.ICE_SCALES }, [Species.AVALUGG]: { 0: Abilities.ICE_SCALES }, [Species.HISUI_AVALUGG]: { 0: Abilities.ICE_SCALES }, @@ -781,7 +781,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.CRABOMINABLE]: { 0: Abilities.WATER_BUBBLE }, [Species.ORICORIO]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY }, [Species.CUTIEFLY]: { 0: Abilities.PICKUP }, - [Species.RIBOMBEE]: { 0: Abilities.TINTED_LENS }, + [Species.RIBOMBEE]: { 0: Abilities.PICKUP }, [Species.ROCKRUFF]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP }, [Species.LYCANROC]: { 0: Abilities.STURDY, 1: Abilities.INTIMIDATE, 2: Abilities.STAKEOUT }, [Species.WISHIWASHI]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, @@ -932,7 +932,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.COPPERAJAH]: { 0: Abilities.EARTH_EATER, 1: Abilities.EARTH_EATER }, [Species.DRACOZOLT]: { 0: Abilities.NO_GUARD }, [Species.ARCTOZOLT]: { 0: Abilities.WATER_ABSORB }, - [Species.DRACOVISH]: { 0: Abilities.SWIFT_SWIM }, + [Species.DRACOVISH]: { 0: Abilities.THERMAL_EXCHANGE }, [Species.ARCTOVISH]: { 0: Abilities.STRONG_JAW }, [Species.DURALUDON]: { 0: Abilities.FILTER, 1: Abilities.UNAWARE }, [Species.ARCHALUDON]: { 0: Abilities.TRANSISTOR }, @@ -981,8 +981,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.OVERQWIL]: { 0: Abilities.MERCILESS }, [Species.HISUI_SNEASEL]: { 0: Abilities.SCRAPPY }, [Species.SNEASLER]: { 0: Abilities.SCRAPPY }, - [Species.HISUI_ZORUA]: { 0: Abilities.ADAPTABILITY }, - [Species.HISUI_ZOROARK]: { 0: Abilities.ADAPTABILITY }, + [Species.HISUI_ZORUA]: { 0: Abilities.SHADOW_SHIELD }, + [Species.HISUI_ZOROARK]: { 0: Abilities.SHADOW_SHIELD }, [Species.SPRIGATITO]: { 0: Abilities.PICKUP }, [Species.FLORAGATO]: { 0: Abilities.MAGICIAN }, diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index 0999e9db6ff..454bd40130c 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -1132,7 +1132,6 @@ export abstract class BattleAnim { if (priority === 0) { // Place the sprite in front of the pokemon on the field. targetSprite = globalScene.getEnemyField().find(p => p) ?? globalScene.getPlayerField().find(p => p); - console.log(typeof targetSprite); moveFunc = globalScene.field.moveBelow; } else if (priority === 2 && this.bgSprite) { moveFunc = globalScene.field.moveAbove; diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index ee41f0435b9..8a512f3c16c 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -1,4 +1,5 @@ import { globalScene } from "#app/global-scene"; +import Overrides from "#app/overrides"; import { applyAbAttrs, BlockNonDirectDamageAbAttr, @@ -91,7 +92,12 @@ export class BattlerTag { onOverlap(_pokemon: Pokemon): void {} + /** + * Tick down this {@linkcode BattlerTag}'s duration. + * @returns `true` if the tag should be kept (`turnCount` > 0`) + */ lapse(_pokemon: Pokemon, _lapseType: BattlerTagLapseType): boolean { + // TODO: Maybe flip this (return `true` if tag needs removal) return --this.turnCount > 0; } @@ -108,9 +114,9 @@ export class BattlerTag { } /** - * When given a battler tag or json representing one, load the data for it. - * This is meant to be inherited from by any battler tag with custom attributes - * @param {BattlerTag | any} source A battler tag + * Load the data for a given {@linkcode BattlerTag} or JSON representation thereof. + * Should be inherited from by any battler tag with custom attributes. + * @param source The battler tag to load */ loadTag(source: BattlerTag | any): void { this.turnCount = source.turnCount; @@ -120,7 +126,7 @@ export class BattlerTag { /** * Helper function that retrieves the source Pokemon object - * @returns The source {@linkcode Pokemon} or `null` if none is found + * @returns The source {@linkcode Pokemon}, or `null` if none is found */ public getSourcePokemon(): Pokemon | null { return this.sourceId ? globalScene.getPokemonById(this.sourceId) : null; @@ -140,8 +146,8 @@ export interface TerrainBattlerTag { * in-game. This is not to be confused with {@linkcode Moves.DISABLE}. * * Descendants can override {@linkcode isMoveRestricted} to restrict moves that - * match a condition. A restricted move gets cancelled before it is used. Players and enemies should not be allowed - * to select restricted moves. + * match a condition. A restricted move gets cancelled before it is used. + * Players and enemies should not be allowed to select restricted moves. */ export abstract class MoveRestrictionBattlerTag extends BattlerTag { constructor( @@ -746,31 +752,33 @@ export class ConfusedTag extends BattlerTag { } lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { - const ret = lapseType !== BattlerTagLapseType.CUSTOM && super.lapse(pokemon, lapseType); + const shouldLapse = lapseType !== BattlerTagLapseType.CUSTOM && super.lapse(pokemon, lapseType); - if (ret) { - globalScene.queueMessage( - i18next.t("battlerTags:confusedLapse", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - globalScene.unshiftPhase(new CommonAnimPhase(pokemon.getBattlerIndex(), undefined, CommonAnim.CONFUSION)); - - // 1/3 chance of hitting self with a 40 base power move - if (pokemon.randSeedInt(3) === 0) { - const atk = pokemon.getEffectiveStat(Stat.ATK); - const def = pokemon.getEffectiveStat(Stat.DEF); - const damage = toDmgValue( - ((((2 * pokemon.level) / 5 + 2) * 40 * atk) / def / 50 + 2) * (pokemon.randSeedIntRange(85, 100) / 100), - ); - globalScene.queueMessage(i18next.t("battlerTags:confusedLapseHurtItself")); - pokemon.damageAndUpdate(damage, { result: HitResult.CONFUSION }); - pokemon.battleData.hitCount++; - (globalScene.getCurrentPhase() as MovePhase).cancel(); - } + if (!shouldLapse) { + return false; } - return ret; + globalScene.queueMessage( + i18next.t("battlerTags:confusedLapse", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + globalScene.unshiftPhase(new CommonAnimPhase(pokemon.getBattlerIndex(), undefined, CommonAnim.CONFUSION)); + + // 1/3 chance of hitting self with a 40 base power move + if (pokemon.randSeedInt(3) === 0 || Overrides.CONFUSION_ACTIVATION_OVERRIDE === true) { + const atk = pokemon.getEffectiveStat(Stat.ATK); + const def = pokemon.getEffectiveStat(Stat.DEF); + const damage = toDmgValue( + ((((2 * pokemon.level) / 5 + 2) * 40 * atk) / def / 50 + 2) * (pokemon.randSeedIntRange(85, 100) / 100), + ); + // Intentionally don't increment rage fist's hitCount + globalScene.queueMessage(i18next.t("battlerTags:confusedLapseHurtItself")); + pokemon.damageAndUpdate(damage, { result: HitResult.CONFUSION }); + (globalScene.getCurrentPhase() as MovePhase).cancel(); + } + + return true; } getDescriptor(): string { @@ -1117,8 +1125,8 @@ export class FrenzyTag extends BattlerTag { } /** - * Applies the effects of the move Encore onto the target Pokemon - * Encore forces the target Pokemon to use its most-recent move for 3 turns + * Applies the effects of {@linkcode Moves.ENCORE} onto the target Pokemon. + * Encore forces the target Pokemon to use its most-recent move for 3 turns. */ export class EncoreTag extends MoveRestrictionBattlerTag { public moveId: Moves; @@ -1133,10 +1141,6 @@ export class EncoreTag extends MoveRestrictionBattlerTag { ); } - /** - * When given a battler tag or json representing one, load the data for it. - * @param {BattlerTag | any} source A battler tag - */ loadTag(source: BattlerTag | any): void { super.loadTag(source); this.moveId = source.moveId as Moves; diff --git a/src/data/berry.ts b/src/data/berry.ts index 22950c0beca..ecc3e92ca64 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -5,10 +5,8 @@ import { getStatusEffectHealText } from "./status-effect"; import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils/common"; import { DoubleBerryEffectAbAttr, - PostItemLostAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs, - applyPostItemLostAbAttrs, } from "./abilities/ability"; import i18next from "i18next"; import { BattlerTagType } from "#enums/battler-tag-type"; @@ -70,97 +68,94 @@ export function getBerryPredicate(berryType: BerryType): BerryPredicate { } } -export type BerryEffectFunc = (pokemon: Pokemon, berryOwner?: Pokemon) => void; +export type BerryEffectFunc = (consumer: Pokemon) => void; export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc { - switch (berryType) { - case BerryType.SITRUS: - case BerryType.ENIGMA: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - const hpHealed = new NumberHolder(toDmgValue(pokemon.getMaxHp() / 4)); - applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, hpHealed); - globalScene.unshiftPhase( - new PokemonHealPhase( - pokemon.getBattlerIndex(), - hpHealed.value, - i18next.t("battle:hpHealBerry", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - berryName: getBerryName(berryType), - }), - true, - ), - ); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LUM: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - if (pokemon.status) { - globalScene.queueMessage(getStatusEffectHealText(pokemon.status.effect, getPokemonNameWithAffix(pokemon))); - } - pokemon.resetStatus(true, true); - pokemon.updateInfo(); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LIECHI: - case BerryType.GANLON: - case BerryType.PETAYA: - case BerryType.APICOT: - case BerryType.SALAC: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - // Offset BerryType such that LIECHI -> Stat.ATK = 1, GANLON -> Stat.DEF = 2, so on and so forth - const stat: BattleStat = berryType - BerryType.ENIGMA; - const statStages = new NumberHolder(1); - applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, statStages); - globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [stat], statStages.value)); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LANSAT: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - pokemon.addTag(BattlerTagType.CRIT_BOOST); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.STARF: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - const randStat = randSeedInt(Stat.SPD, Stat.ATK); - const stages = new NumberHolder(2); - applyAbAttrs(DoubleBerryEffectAbAttr, pokemon, null, false, stages); - globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [randStat], stages.value)); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); - }; - case BerryType.LEPPA: - return (pokemon: Pokemon, berryOwner?: Pokemon) => { - if (pokemon.battleData) { - pokemon.battleData.berriesEaten.push(berryType); - } - const ppRestoreMove = pokemon.getMoveset().find(m => !m.getPpRatio()) - ? pokemon.getMoveset().find(m => !m.getPpRatio()) - : pokemon.getMoveset().find(m => m.getPpRatio() < 1); - if (ppRestoreMove !== undefined) { - ppRestoreMove!.ppUsed = Math.max(ppRestoreMove!.ppUsed - 10, 0); - globalScene.queueMessage( - i18next.t("battle:ppHealBerry", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - moveName: ppRestoreMove!.getName(), - berryName: getBerryName(berryType), - }), + return (consumer: Pokemon) => { + // Apply an effect pertaining to what berry we're using + switch (berryType) { + case BerryType.SITRUS: + case BerryType.ENIGMA: + { + const hpHealed = new NumberHolder(toDmgValue(consumer.getMaxHp() / 4)); + applyAbAttrs(DoubleBerryEffectAbAttr, consumer, null, false, hpHealed); + globalScene.unshiftPhase( + new PokemonHealPhase( + consumer.getBattlerIndex(), + hpHealed.value, + i18next.t("battle:hpHealBerry", { + pokemonNameWithAffix: getPokemonNameWithAffix(consumer), + berryName: getBerryName(berryType), + }), + true, + ), ); - applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner ?? pokemon, false); } - }; - } + break; + case BerryType.LUM: + { + if (consumer.status) { + globalScene.queueMessage( + getStatusEffectHealText(consumer.status.effect, getPokemonNameWithAffix(consumer)), + ); + } + consumer.resetStatus(true, true); + consumer.updateInfo(); + } + break; + case BerryType.LIECHI: + case BerryType.GANLON: + case BerryType.PETAYA: + case BerryType.APICOT: + case BerryType.SALAC: + { + // Offset BerryType such that LIECHI --> Stat.ATK = 1, GANLON --> Stat.DEF = 2, etc etc. + const stat: BattleStat = berryType - BerryType.ENIGMA; + const statStages = new NumberHolder(1); + applyAbAttrs(DoubleBerryEffectAbAttr, consumer, null, false, statStages); + globalScene.unshiftPhase( + new StatStageChangePhase(consumer.getBattlerIndex(), true, [stat], statStages.value), + ); + } + break; + + case BerryType.LANSAT: + { + consumer.addTag(BattlerTagType.CRIT_BOOST); + } + break; + + case BerryType.STARF: + { + const randStat = randSeedInt(Stat.SPD, Stat.ATK); + const stages = new NumberHolder(2); + applyAbAttrs(DoubleBerryEffectAbAttr, consumer, null, false, stages); + globalScene.unshiftPhase( + new StatStageChangePhase(consumer.getBattlerIndex(), true, [randStat], stages.value), + ); + } + break; + + case BerryType.LEPPA: + { + // Pick the first move completely out of PP, or else the first one that has any PP missing + const ppRestoreMove = + consumer.getMoveset().find(m => m.ppUsed === m.getMovePp()) ?? + consumer.getMoveset().find(m => m.ppUsed < m.getMovePp()); + if (ppRestoreMove) { + ppRestoreMove.ppUsed = Math.max(ppRestoreMove.ppUsed - 10, 0); + globalScene.queueMessage( + i18next.t("battle:ppHealBerry", { + pokemonNameWithAffix: getPokemonNameWithAffix(consumer), + moveName: ppRestoreMove.getName(), + berryName: getBerryName(berryType), + }), + ); + } + } + break; + default: + console.error("Incorrect BerryType %d passed to GetBerryEffectFunc", berryType); + } + }; } diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 7388f397c7e..b4b8db2cc10 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -1,4 +1,5 @@ -import { BooleanHolder, type NumberHolder, randSeedItem, deepCopy } from "#app/utils/common"; +import { BooleanHolder, type NumberHolder, randSeedItem } from "#app/utils/common"; +import { deepCopy } from "#app/utils/data"; import i18next from "i18next"; import type { DexAttrProps, GameData } from "#app/system/game-data"; import { defaultStarterSpecies } from "#app/system/game-data"; diff --git a/src/data/custom-pokemon-data.ts b/src/data/custom-pokemon-data.ts index 704835e9dbc..20f6ea96174 100644 --- a/src/data/custom-pokemon-data.ts +++ b/src/data/custom-pokemon-data.ts @@ -1,36 +1,31 @@ import type { Abilities } from "#enums/abilities"; import type { PokemonType } from "#enums/pokemon-type"; -import { isNullOrUndefined } from "#app/utils/common"; import type { Nature } from "#enums/nature"; /** - * Data that can customize a Pokemon in non-standard ways from its Species - * Used by Mystery Encounters and Mints - * Also used as a counter how often a Pokemon got hit until new arena encounter + * Data that can customize a Pokemon in non-standard ways from its Species. + * Includes abilities, nature, changed types, etc. */ export class CustomPokemonData { - public spriteScale: number; + // TODO: Change the default value for all these from -1 to something a bit more sensible + /** + * The scale at which to render this Pokemon's sprite. + */ + public spriteScale = -1; public ability: Abilities | -1; public passive: Abilities | -1; public nature: Nature | -1; public types: PokemonType[]; - /** `hitsReceivedCount` aka `hitsRecCount` saves how often the pokemon got hit until a new arena encounter (used for Rage Fist) */ - public hitsRecCount: number; + /** Deprecated but needed for session save migration */ + // TODO: Remove this once pre-session migration is implemented + public hitsRecCount: number | null = null; constructor(data?: CustomPokemonData | Partial) { - if (!isNullOrUndefined(data)) { - Object.assign(this, data); - } - - this.spriteScale = this.spriteScale ?? -1; - this.ability = this.ability ?? -1; - this.passive = this.passive ?? -1; - this.nature = this.nature ?? -1; - this.types = this.types ?? []; - this.hitsRecCount = this.hitsRecCount ?? 0; - } - - resetHitReceivedCount(): void { - this.hitsRecCount = 0; + this.spriteScale = data?.spriteScale ?? -1; + this.ability = data?.ability ?? -1; + this.passive = data?.passive ?? -1; + this.nature = data?.nature ?? -1; + this.types = data?.types ?? []; + this.hitsRecCount = data?.hitsRecCount ?? null; } } diff --git a/src/data/moves/invalid-moves.ts b/src/data/moves/invalid-moves.ts index 5cd45de7939..025c0383f43 100644 --- a/src/data/moves/invalid-moves.ts +++ b/src/data/moves/invalid-moves.ts @@ -240,3 +240,18 @@ export const invalidMirrorMoveMoves: ReadonlySet = new Set([ Moves.WATER_SPORT, Moves.WIDE_GUARD, ]); + +/** Set of moves that can never have their type overridden by an ability like Pixilate or Normalize + * + * Excludes tera blast and tera starstorm, as these are only conditionally forbidden + */ +export const noAbilityTypeOverrideMoves: ReadonlySet = new Set([ + Moves.WEATHER_BALL, + Moves.JUDGMENT, + Moves.REVELATION_DANCE, + Moves.MULTI_ATTACK, + Moves.TERRAIN_PULSE, + Moves.NATURAL_GIFT, + Moves.TECHNO_BLAST, + Moves.HIDDEN_POWER, +]); diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index f02c98fad1f..81ae499da10 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -122,7 +122,6 @@ import { MoveFlags } from "#enums/MoveFlags"; import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves"; -import { TrainerVariant } from "#app/field/trainer"; import { SelectBiomePhase } from "#app/phases/select-biome-phase"; type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; @@ -811,8 +810,9 @@ export default class Move implements Localizable { const power = new NumberHolder(this.power); const typeChangeMovePowerMultiplier = new NumberHolder(1); + const typeChangeHolder = new NumberHolder(this.type); - applyPreAttackAbAttrs(MoveTypeChangeAbAttr, source, target, this, true, null, typeChangeMovePowerMultiplier); + applyPreAttackAbAttrs(MoveTypeChangeAbAttr, source, target, this, true, typeChangeHolder, typeChangeMovePowerMultiplier); const sourceTeraType = source.getTeraType(); if (source.isTerastallized && sourceTeraType === this.type && power.value < 60 && this.priority <= 0 && !this.hasAttr(MultiHitAttr) && !globalScene.findModifier(m => m instanceof PokemonMultiHitModifier && m.pokemonId === source.id)) { @@ -842,7 +842,7 @@ export default class Move implements Localizable { power.value *= typeChangeMovePowerMultiplier.value; - const typeBoost = source.findTag(t => t instanceof TypeBoostTag && t.boostedType === this.type) as TypeBoostTag; + const typeBoost = source.findTag(t => t instanceof TypeBoostTag && t.boostedType === typeChangeHolder.value) as TypeBoostTag; if (typeBoost) { power.value *= typeBoost.boostValue; } @@ -850,8 +850,8 @@ export default class Move implements Localizable { applyMoveAttrs(VariablePowerAttr, source, target, this, power); if (!this.hasAttr(TypelessAttr)) { - globalScene.arena.applyTags(WeakenMoveTypeTag, simulated, this.type, power); - globalScene.applyModifiers(AttackTypeBoosterModifier, source.isPlayer(), source, this.type, power); + globalScene.arena.applyTags(WeakenMoveTypeTag, simulated, typeChangeHolder.value, power); + globalScene.applyModifiers(AttackTypeBoosterModifier, source.isPlayer(), source, typeChangeHolder.value, power); } if (source.getTag(HelpingHandTag)) { @@ -1803,10 +1803,7 @@ export class HalfSacrificialAttr extends MoveEffectAttr { } /** - * Attribute to put in a {@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(doll) | Substitute Doll} - * for the user. - * @extends MoveEffectAttr - * @see {@linkcode apply} + * Attribute to put in a {@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(doll) | Substitute Doll} for the user. */ export class AddSubstituteAttr extends MoveEffectAttr { /** The ratio of the user's max HP that is required to apply this effect */ @@ -1823,11 +1820,11 @@ export class AddSubstituteAttr extends MoveEffectAttr { /** * Removes 1/4 of the user's maximum HP (rounded down) to create a substitute for the user - * @param user the {@linkcode Pokemon} that used the move. - * @param target n/a - * @param move the {@linkcode Move} with this attribute. - * @param args n/a - * @returns true if the attribute successfully applies, false otherwise + * @param user - The {@linkcode Pokemon} that used the move. + * @param target - n/a + * @param move - The {@linkcode Move} with this attribute. + * @param args - n/a + * @returns `true` if the attribute successfully applies, `false` otherwise */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!super.apply(user, target, move, args)) { @@ -1848,12 +1845,12 @@ export class AddSubstituteAttr extends MoveEffectAttr { } getCondition(): MoveConditionFunc { - return (user, target, move) => !user.getTag(SubstituteTag) && user.hp > (this.roundUp ? Math.ceil(user.getMaxHp() * this.hpCost) : Math.floor(user.getMaxHp() * this.hpCost)) && user.getMaxHp() > 1; + return (user, _target, _move) => !user.getTag(SubstituteTag) && user.hp > (this.roundUp ? Math.ceil(user.getMaxHp() * this.hpCost) : Math.floor(user.getMaxHp() * this.hpCost)) && user.getMaxHp() > 1; } /** * Get the substitute-specific failure message if one should be displayed. - * @param user The pokemon using the move. + * @param user - The pokemon using the move. * @returns The substitute-specific failure message if the conditions apply, otherwise `undefined` */ getFailedText(user: Pokemon, _target: Pokemon, _move: Move): string | undefined { @@ -2535,10 +2532,10 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { return !target.status && target.canSetStatus(user.status?.effect, true, false, user) ? -10 : 0; } } + /** - * The following needs to be implemented for Thief - * "If the user faints due to the target's Ability (Rough Skin or Iron Barbs) or held Rocky Helmet, it cannot remove the target's held item." - * "If Knock Off causes a Pokémon with the Sticky Hold Ability to faint, it can now remove that Pokémon's held item." + * Attribute to steal items upon this move's use. + * Used for {@linkcode Moves.THIEF} and {@linkcode Moves.COVET}. */ export class StealHeldItemChanceAttr extends MoveEffectAttr { private chance: number; @@ -2553,18 +2550,22 @@ export class StealHeldItemChanceAttr extends MoveEffectAttr { if (rand >= this.chance) { return false; } + const heldItems = this.getTargetHeldItems(target).filter((i) => i.isTransferable); - if (heldItems.length) { - const poolType = target.isPlayer() ? ModifierPoolType.PLAYER : target.hasTrainer() ? ModifierPoolType.TRAINER : ModifierPoolType.WILD; - const highestItemTier = heldItems.map((m) => m.type.getOrInferTier(poolType)).reduce((highestTier, tier) => Math.max(tier!, highestTier), 0); // TODO: is the bang after tier correct? - const tierHeldItems = heldItems.filter((m) => m.type.getOrInferTier(poolType) === highestItemTier); - const stolenItem = tierHeldItems[user.randSeedInt(tierHeldItems.length)]; - if (globalScene.tryTransferHeldItemModifier(stolenItem, user, false)) { - globalScene.queueMessage(i18next.t("moveTriggers:stoleItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: stolenItem.type.name })); - return true; - } + if (!heldItems.length) { + return false; } - return false; + + const poolType = target.isPlayer() ? ModifierPoolType.PLAYER : target.hasTrainer() ? ModifierPoolType.TRAINER : ModifierPoolType.WILD; + const highestItemTier = heldItems.map((m) => m.type.getOrInferTier(poolType)).reduce((highestTier, tier) => Math.max(tier!, highestTier), 0); // TODO: is the bang after tier correct? + const tierHeldItems = heldItems.filter((m) => m.type.getOrInferTier(poolType) === highestItemTier); + const stolenItem = tierHeldItems[user.randSeedInt(tierHeldItems.length)]; + if (!globalScene.tryTransferHeldItemModifier(stolenItem, user, false)) { + return false; + } + + globalScene.queueMessage(i18next.t("moveTriggers:stoleItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: stolenItem.type.name })); + return true; } getTargetHeldItems(target: Pokemon): PokemonHeldItemModifier[] { @@ -2588,58 +2589,62 @@ export class StealHeldItemChanceAttr extends MoveEffectAttr { * Used for Incinerate and Knock Off. * Not Implemented Cases: (Same applies for Thief) * "If the user faints due to the target's Ability (Rough Skin or Iron Barbs) or held Rocky Helmet, it cannot remove the target's held item." - * "If Knock Off causes a Pokémon with the Sticky Hold Ability to faint, it can now remove that Pokémon's held item." + * "If the Pokémon is knocked out by the attack, Sticky Hold does not protect the held item."" */ export class RemoveHeldItemAttr extends MoveEffectAttr { - /** Optional restriction for item pool to berries only i.e. Differentiating Incinerate and Knock Off */ + /** Optional restriction for item pool to berries only; i.e. Incinerate */ private berriesOnly: boolean; - constructor(berriesOnly: boolean) { + constructor(berriesOnly: boolean = false) { super(false); this.berriesOnly = berriesOnly; } /** - * - * @param user {@linkcode Pokemon} that used the move - * @param target Target {@linkcode Pokemon} that the moves applies to - * @param move {@linkcode Move} that is used + * Attempt to permanently remove a held + * @param user - The {@linkcode Pokemon} that used the move + * @param target - The {@linkcode Pokemon} targeted by the move + * @param move - N/A * @param args N/A - * @returns True if an item was removed + * @returns `true` if an item was able to be removed */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!this.berriesOnly && target.isPlayer()) { // "Wild Pokemon cannot knock off Player Pokemon's held items" (See Bulbapedia) return false; } + // Check for abilities that block item theft + // TODO: This should not trigger if the target would faint beforehand const cancelled = new BooleanHolder(false); - applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // Check for abilities that block item theft + applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); - if (cancelled.value === true) { + if (cancelled.value) { return false; } - // Considers entire transferrable item pool by default (Knock Off). Otherwise berries only if specified (Incinerate). + // Considers entire transferrable item pool by default (Knock Off). + // Otherwise only consider berries (Incinerate). let heldItems = this.getTargetHeldItems(target).filter(i => i.isTransferable); if (this.berriesOnly) { heldItems = heldItems.filter(m => m instanceof BerryModifier && m.pokemonId === target.id, target.isPlayer()); } - if (heldItems.length) { - const removedItem = heldItems[user.randSeedInt(heldItems.length)]; + if (!heldItems.length) { + return false; + } - // Decrease item amount and update icon - target.loseHeldItem(removedItem); - globalScene.updateModifiers(target.isPlayer()); + const removedItem = heldItems[user.randSeedInt(heldItems.length)]; + // Decrease item amount and update icon + target.loseHeldItem(removedItem); + globalScene.updateModifiers(target.isPlayer()); - if (this.berriesOnly) { - globalScene.queueMessage(i18next.t("moveTriggers:incineratedItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); - } else { - globalScene.queueMessage(i18next.t("moveTriggers:knockedOffItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); - } + if (this.berriesOnly) { + globalScene.queueMessage(i18next.t("moveTriggers:incineratedItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); + } else { + globalScene.queueMessage(i18next.t("moveTriggers:knockedOffItem", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target), itemName: removedItem.type.name })); } return true; @@ -2665,17 +2670,18 @@ export class RemoveHeldItemAttr extends MoveEffectAttr { * Attribute that causes targets of the move to eat a berry. Used for Teatime, Stuff Cheeks */ export class EatBerryAttr extends MoveEffectAttr { - protected chosenBerry: BerryModifier | undefined; + protected chosenBerry: BerryModifier; constructor(selfTarget: boolean) { super(selfTarget); } + /** * Causes the target to eat a berry. - * @param user {@linkcode Pokemon} Pokemon that used the move - * @param target {@linkcode Pokemon} Pokemon that will eat a berry - * @param move {@linkcode Move} The move being used + * @param user The {@linkcode Pokemon} Pokemon that used the move + * @param target The {@linkcode Pokemon} Pokemon that will eat the berry + * @param move The {@linkcode Move} being used * @param args Unused - * @returns {boolean} true if the function succeeds + * @returns `true` if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!super.apply(user, target, move, args)) { @@ -2688,6 +2694,8 @@ export class EatBerryAttr extends MoveEffectAttr { if (heldBerries.length <= 0) { return false; } + + // pick a random berry to gobble and check if we preserve it this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)]; const preserve = new BooleanHolder(false); // check for berry pouch preservation @@ -2695,7 +2703,10 @@ export class EatBerryAttr extends MoveEffectAttr { if (!preserve.value) { this.reduceBerryModifier(pokemon); } - this.eatBerry(pokemon); + + // Don't update harvest for berries preserved via Berry pouch (no item dupes lol) + this.eatBerry(target, undefined, !preserve.value); + return true; } @@ -2711,46 +2722,64 @@ export class EatBerryAttr extends MoveEffectAttr { globalScene.updateModifiers(target.isPlayer()); } - eatBerry(consumer: Pokemon, berryOwner?: Pokemon) { - getBerryEffectFunc(this.chosenBerry!.berryType)(consumer, berryOwner); // consumer eats the berry + + /** + * Internal function to apply berry effects. + * + * @param consumer - The {@linkcode Pokemon} eating the berry; assumed to also be owner if `berryOwner` is omitted + * @param berryOwner - The {@linkcode Pokemon} whose berry is being eaten; defaults to `consumer` if not specified. + * @param updateHarvest - Whether to prevent harvest from tracking berries; + * defaults to whether `consumer` equals `berryOwner` (i.e. consuming own berry). + */ + protected eatBerry(consumer: Pokemon, berryOwner: Pokemon = consumer, updateHarvest = consumer === berryOwner) { + // consumer eats berry, owner triggers unburden and similar effects + getBerryEffectFunc(this.chosenBerry.berryType)(consumer); + applyPostItemLostAbAttrs(PostItemLostAbAttr, berryOwner, false); applyAbAttrs(HealFromBerryUseAbAttr, consumer, new BooleanHolder(false)); + consumer.recordEatenBerry(this.chosenBerry.berryType, updateHarvest); } } /** - * Attribute used for moves that steal a random berry from the target. The user then eats the stolen berry. - * Used for Pluck & Bug Bite. + * Attribute used for moves that steal and eat a random berry from the target. + * Used for {@linkcode Moves.PLUCK} & {@linkcode Moves.BUG_BITE}. */ export class StealEatBerryAttr extends EatBerryAttr { constructor() { super(false); } + /** * User steals a random berry from the target and then eats it. - * @param user - Pokemon that used the move and will eat the stolen berry - * @param target - Pokemon that will have its berry stolen - * @param move - Move being used - * @param args Unused - * @returns true if the function succeeds + * @param user - The {@linkcode Pokemon} using the move; will eat the stolen berry + * @param target - The {@linkcode Pokemon} having its berry stolen + * @param move - The {@linkcode Move} being used + * @param args N/A + * @returns `true` if the function succeeds */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + // check for abilities that block item theft const cancelled = new BooleanHolder(false); - applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // check for abilities that block item theft + applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); if (cancelled.value === true) { return false; } + // check if the target even _has_ a berry in the first place + // TODO: Check on cart if Pluck displays messages when used against sticky hold mons w/o berries const heldBerries = this.getTargetHeldBerries(target); if (heldBerries.length <= 0) { return false; } - // if the target has berries, pick a random berry and steal it + + // pick a random berry and eat it this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)]; applyPostItemLostAbAttrs(PostItemLostAbAttr, target, false); const message = i18next.t("battle:stealEatBerry", { pokemonName: user.name, targetName: target.name, berryName: this.chosenBerry.type.name }); globalScene.queueMessage(message); this.reduceBerryModifier(target); this.eatBerry(user, target); + return true; } } @@ -4103,30 +4132,23 @@ export class FriendshipPowerAttr extends VariablePowerAttr { /** * This Attribute calculates the current power of {@linkcode Moves.RAGE_FIST}. - * The counter for power calculation does not reset on every wave but on every new arena encounter + * The counter for power calculation does not reset on every wave but on every new arena encounter. + * Self-inflicted confusion damage and hits taken by a Subsitute are ignored. */ export class RageFistPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const { hitCount, prevHitCount } = user.battleData; + /* Reasons this works correctly: + * Confusion calls user.damageAndUpdate() directly (no counter increment), + * Substitute hits call user.damageAndUpdate() with a damage value of 0, also causing + no counter increment + */ + const hitCount = user.battleData.hitCount; const basePower: NumberHolder = args[0]; - this.updateHitReceivedCount(user, hitCount, prevHitCount); - - basePower.value = 50 + (Math.min(user.customPokemonData.hitsRecCount, 6) * 50); - + basePower.value = 50 * (1 + Math.min(hitCount, 6)); return true; } - /** - * Updates the number of hits the Pokemon has taken in battle - * @param user Pokemon calling Rage Fist - * @param hitCount The number of received hits this battle - * @param previousHitCount The number of received hits this battle since last time Rage Fist was used - */ - protected updateHitReceivedCount(user: Pokemon, hitCount: number, previousHitCount: number): void { - user.customPokemonData.hitsRecCount += (hitCount - previousHitCount); - user.battleData.prevHitCount = hitCount; - } } /** @@ -4357,10 +4379,10 @@ export class LastMoveDoublePowerAttr extends VariablePowerAttr { const userAlly = user.getAlly(); const enemyAlly = enemy?.getAlly(); - if (!isNullOrUndefined(userAlly) && userAlly.turnData.acted) { + if (userAlly?.turnData.acted) { pokemonActed.push(userAlly); } - if (!isNullOrUndefined(enemyAlly) && enemyAlly.turnData.acted) { + if (enemyAlly?.turnData.acted) { pokemonActed.push(enemyAlly); } } @@ -4428,13 +4450,10 @@ export class CombinedPledgeStabBoostAttr extends MoveAttr { * @extends VariablePowerAttr */ export class RoundPowerAttr extends VariablePowerAttr { - override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + override apply(user: Pokemon, target: Pokemon, move: Move, args: [NumberHolder]): boolean { const power = args[0]; - if (!(power instanceof NumberHolder)) { - return false; - } - if (user.turnData?.joinedRound) { + if (user.turnData.joinedRound) { power.value *= 2; return true; } @@ -4830,7 +4849,12 @@ export class FormChangeItemTypeAttr extends VariableMoveTypeAttr { return true; } - return false; + // Force move to have its original typing if it changed + if (moveType.value === move.type) { + return false; + } + moveType.value = move.type + return true; } } @@ -4981,7 +5005,11 @@ export class WeatherBallTypeAttr extends VariableMoveTypeAttr { moveType.value = PokemonType.ICE; break; default: - return false; + if (moveType.value === move.type) { + return false; + } + moveType.value = move.type; + break; } return true; } @@ -5029,7 +5057,12 @@ export class TerrainPulseTypeAttr extends VariableMoveTypeAttr { moveType.value = PokemonType.PSYCHIC; break; default: - return false; + if (moveType.value === move.type) { + return false; + } + // force move to have its original typing if it was changed + moveType.value = move.type; + break; } return true; } @@ -6134,7 +6167,7 @@ export class RevivalBlessingAttr extends MoveEffectAttr { const faintedPokemon = globalScene.getEnemyParty().filter((p) => p.isFainted() && !p.isBoss()); const pokemon = faintedPokemon[user.randSeedInt(faintedPokemon.length)]; const slotIndex = globalScene.getEnemyParty().findIndex((p) => pokemon.id === p.id); - pokemon.resetStatus(); + pokemon.resetStatus(true, false, false, true); pokemon.heal(Math.min(toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); globalScene.queueMessage(i18next.t("moveTriggers:revivalBlessing", { pokemonName: getPokemonNameWithAffix(pokemon) }), 0, true); const allyPokemon = user.getAlly(); @@ -7753,17 +7786,27 @@ export class StatusIfBoostedAttr extends MoveEffectAttr { } } +/** + * Attribute to fail move usage unless all of the user's other moves have been used at least once. + * Used by {@linkcode Moves.LAST_RESORT}. + */ export class LastResortAttr extends MoveAttr { + // TODO: Verify behavior as Bulbapedia page is _extremely_ poorly documented getCondition(): MoveConditionFunc { - return (user: Pokemon, target: Pokemon, move: Move) => { - const uniqueUsedMoveIds = new Set(); - const movesetMoveIds = user.getMoveset().map(m => m.moveId); - user.getMoveHistory().map(m => { - if (m.move !== move.id && movesetMoveIds.find(mm => mm === m.move)) { - uniqueUsedMoveIds.add(m.move); - } - }); - return uniqueUsedMoveIds.size >= movesetMoveIds.length - 1; + return (user: Pokemon, _target: Pokemon, move: Move) => { + const movesInMoveset = new Set(user.getMoveset().map(m => m.moveId)); + if (!movesInMoveset.delete(move.id) || !movesInMoveset.size) { + return false; // Last resort fails if used when not in user's moveset or no other moves exist + } + + const movesInHistory = new Set( + user.getMoveHistory() + .filter(m => !m.virtual) // TODO: Change to (m) => m < MoveUseType.INDIRECT after Dancer PR refactors virtual into enum + .map(m => m.move) + ); + + // Since `Set.intersection()` is only present in ESNext, we have to coerce it to an array to check inclusion + return [...movesInMoveset].every(m => movesInHistory.has(m)) }; } } @@ -7971,13 +8014,18 @@ export class MoveCondition { } } +/** + * Condition to allow a move's use only on the first turn this Pokemon is sent into battle + * (or the start of a new wave, whichever comes first). + */ + export class FirstMoveCondition extends MoveCondition { constructor() { - super((user, target, move) => user.battleSummonData?.waveTurnCount === 1); + super((user, _target, _move) => user.tempSummonData.waveTurnCount === 1); } - getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { - return this.apply(user, target, move) ? 10 : -20; + getUserBenefitScore(user: Pokemon, _target: Pokemon, _move: Move): number { + return this.apply(user, _target, _move) ? 10 : -20; } } @@ -8615,7 +8663,7 @@ export function initMoves() { new StatusMove(Moves.TRANSFORM, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(TransformAttr) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE)) - .condition((user, target, move) => !target.summonData?.illusion && !user.summonData?.illusion) + .condition((user, target, move) => !target.summonData.illusion && !user.summonData.illusion) // transforming from or into fusion pokemon causes various problems (such as crashes) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE) && !user.fusionSpecies && !target.fusionSpecies) .ignoresProtect() @@ -8690,7 +8738,10 @@ export function initMoves() { .attr(MultiHitPowerIncrementAttr, 3) .checkAllHits(), new AttackMove(Moves.THIEF, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 2) - .attr(StealHeldItemChanceAttr, 0.3), + .attr(StealHeldItemChanceAttr, 0.3) + .edgeCase(), + // Should not be able to steal held item if user faints due to Rough Skin, Iron Barbs, etc. + // Should be able to steal items from pokemon with Sticky Hold if the damage causes them to faint new StatusMove(Moves.SPIDER_WEB, PokemonType.BUG, -1, 10, -1, 0, 2) .condition(failIfGhostTypeCondition) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1) @@ -8980,6 +9031,7 @@ export function initMoves() { .soundBased() .target(MoveTarget.RANDOM_NEAR_ENEMY) .partial(), // Does not lock the user, does not stop Pokemon from sleeping + // Likely can make use of FrenzyAttr and an ArenaTag (just without the FrenzyMissFunc) new SelfStatusMove(Moves.STOCKPILE, PokemonType.NORMAL, -1, 20, -1, 0, 3) .condition(user => (user.getTag(StockpilingTag)?.stockpiledCount ?? 0) < 3) .attr(AddBattlerTagAttr, BattlerTagType.STOCKPILING, true), @@ -9077,7 +9129,10 @@ export function initMoves() { .reflectable(), new AttackMove(Moves.KNOCK_OFF, PokemonType.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getHeldItems().filter(i => i.isTransferable).length > 0 ? 1.5 : 1) - .attr(RemoveHeldItemAttr, false), + .attr(RemoveHeldItemAttr, false) + .edgeCase(), + // Should not be able to remove held item if user faints due to Rough Skin, Iron Barbs, etc. + // Should be able to remove items from pokemon with Sticky Hold if the damage causes them to faint new AttackMove(Moves.ENDEAVOR, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 3) .attr(MatchHpAttr) .condition(failOnBossCondition), @@ -9265,7 +9320,10 @@ export function initMoves() { .attr(HighCritAttr) .attr(StatusEffectAttr, StatusEffect.POISON), new AttackMove(Moves.COVET, PokemonType.NORMAL, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 3) - .attr(StealHeldItemChanceAttr, 0.3), + .attr(StealHeldItemChanceAttr, 0.3) + .edgeCase(), + // Should not be able to steal held item if user faints due to Rough Skin, Iron Barbs, etc. + // Should be able to steal items from pokemon with Sticky Hold if the damage causes them to faint new AttackMove(Moves.VOLT_TACKLE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 3) .attr(RecoilAttr, false, 0.33) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) @@ -9327,6 +9385,11 @@ export function initMoves() { new AttackMove(Moves.NATURAL_GIFT, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 4) .makesContact(false) .unimplemented(), + /* + NOTE: To whoever tries to implement this, reminder to push to battleData.berriesEaten + and enable the harvest test.. + Do NOT push to berriesEatenLast or else cud chew will puke the berry. + */ new AttackMove(Moves.FEINT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 30, 100, 10, -1, 2, 4) .attr(RemoveBattlerTagAttr, [ BattlerTagType.PROTECTED ]) .attr(RemoveArenaTagsAttr, [ ArenaTagType.QUICK_GUARD, ArenaTagType.WIDE_GUARD, ArenaTagType.MAT_BLOCK, ArenaTagType.CRAFTY_SHIELD ], false) @@ -9404,7 +9467,8 @@ export function initMoves() { .makesContact(true) .attr(PunishmentPowerAttr), new AttackMove(Moves.LAST_RESORT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 140, 100, 5, -1, 0, 4) - .attr(LastResortAttr), + .attr(LastResortAttr) + .edgeCase(), // May or may not need to ignore remotely called moves depending on how it works new StatusMove(Moves.WORRY_SEED, PokemonType.GRASS, 100, 10, -1, 0, 4) .attr(AbilityChangeAttr, Abilities.INSOMNIA) .reflectable(), @@ -9771,7 +9835,9 @@ export function initMoves() { .hidesTarget(), new AttackMove(Moves.INCINERATE, PokemonType.FIRE, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 5) .target(MoveTarget.ALL_NEAR_ENEMIES) - .attr(RemoveHeldItemAttr, true), + .attr(RemoveHeldItemAttr, true) + .edgeCase(), + // Should be able to remove items from pokemon with Sticky Hold if the damage causes them to faint new StatusMove(Moves.QUASH, PokemonType.DARK, 100, 15, -1, 0, 5) .condition(failIfSingleBattle) .condition((user, target, move) => !target.turnData.acted) @@ -9946,7 +10012,7 @@ export function initMoves() { .condition(new FirstMoveCondition()) .condition(failIfLastCondition), new AttackMove(Moves.BELCH, PokemonType.POISON, MoveCategory.SPECIAL, 120, 90, 10, -1, 0, 6) - .condition((user, target, move) => user.battleData.berriesEaten.length > 0), + .condition((user, target, move) => user.battleData.hasEatenBerry), new StatusMove(Moves.ROTOTILLER, PokemonType.GROUND, -1, 10, -1, 0, 6) .target(MoveTarget.ALL) .condition((user, target, move) => { @@ -11072,7 +11138,6 @@ export function initMoves() { new AttackMove(Moves.TWIN_BEAM, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 40, 100, 10, -1, 0, 9) .attr(MultiHitAttr, MultiHitType._2), new AttackMove(Moves.RAGE_FIST, PokemonType.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 9) - .edgeCase() // Counter incorrectly increases on confusion self-hits .attr(RageFistPowerAttr) .punchingMove(), new AttackMove(Moves.ARMOR_CANNON, PokemonType.FIRE, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index 24c076f750e..ce5eb2cfdd1 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -397,9 +397,6 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder newTypes.push(secondType); // Apply the type changes (to both base and fusion, if pokemon is fused) - if (!pokemon.customPokemonData) { - pokemon.customPokemonData = new CustomPokemonData(); - } pokemon.customPokemonData.types = newTypes; if (pokemon.isFusion()) { if (!pokemon.fusionCustomPokemonData) { 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 b0721ddfee9..bb41bc7883c 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -684,7 +684,7 @@ function doPokemonTradeSequence(tradedPokemon: PlayerPokemon, receivedPokemon: P sprite.setPipelineData("shiny", tradedPokemon.shiny); sprite.setPipelineData("variant", tradedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (tradedPokemon.summonData?.speciesForm) { + if (tradedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = tradedPokemon.getSprite().pipelineData[k]; @@ -710,7 +710,7 @@ function doPokemonTradeSequence(tradedPokemon: PlayerPokemon, receivedPokemon: P sprite.setPipelineData("shiny", receivedPokemon.shiny); sprite.setPipelineData("variant", receivedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (receivedPokemon.summonData?.speciesForm) { + if (receivedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = receivedPokemon.getSprite().pipelineData[k]; 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 bfba553af5d..bab0c44db7d 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -106,7 +106,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui * If an event with more than 1 valid event encounter species is active, you have 20% chance to get one of those * If the rolled species has no HA, and there are valid event encounters, you will get one of those * If the rolled species has no HA and there are no valid event encounters, you will get Shiny Magikarp - * Mons rolled from the event encounter pool get 2 extra shiny rolls + * Mons rolled from the event encounter pool get 3 extra shiny rolls */ if ( r === 0 || @@ -120,12 +120,13 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui (validEventEncounters.length > 0 && (r <= EVENT_THRESHOLD || (isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE))) ) { - // If you roll 20%, give event encounter with 2 extra shiny rolls and its HA, if it has one + // If you roll 20%, give event encounter with 3 extra shiny rolls and its HA, if it has one const enc = randSeedItem(validEventEncounters); species = getPokemonSpecies(enc.species); pokemon = new PlayerPokemon(species, 5, species.abilityHidden === Abilities.NONE ? undefined : 2, enc.formIndex); pokemon.trySetShinySeed(); pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); } else { pokemon = new PlayerPokemon(species, 5, 2, species.formIndex); } 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 bc7c570abca..3cbe42591d8 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -222,7 +222,8 @@ function endTrainerBattleAndShowDialogue(): Promise { globalScene.triggerPokemonFormChange(pokemon, SpeciesFormChangeAbilityTrigger); } - pokemon.resetBattleData(); + // Each trainer battle is supposed to be a new fight, so reset all per-battle activation effects + pokemon.resetBattleAndWaveData(); applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon); } diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index cd9ffefb516..cceda25fcb4 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -23,7 +23,6 @@ import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; import { HiddenAbilityRateBoosterModifier, PokemonFormChangeItemModifier } from "#app/modifier/modifier"; import { achvs } from "#app/system/achv"; -import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import type { PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; @@ -601,9 +600,6 @@ async function postProcessTransformedPokemon( newType = randSeedInt(18) as PokemonType; } newTypes.push(newType); - if (!newPokemon.customPokemonData) { - newPokemon.customPokemonData = new CustomPokemonData(); - } newPokemon.customPokemonData.types = newTypes; // Enable passive if previous had it diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index 67904fc856c..0215928bbe8 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -10,7 +10,7 @@ import { import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import type { AiType, PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { EnemyPokemon, FieldPosition, PokemonMove, PokemonSummonData } from "#app/field/pokemon"; +import { EnemyPokemon, FieldPosition, PokemonMove } from "#app/field/pokemon"; import type { CustomModifierSettings, ModifierType } from "#app/modifier/modifier-type"; import { getPartyLuckValue, @@ -348,11 +348,6 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): enemyPokemon.status = new Status(status, 0, cureTurn); } - // Set summon data fields - if (!enemyPokemon.summonData) { - enemyPokemon.summonData = new PokemonSummonData(); - } - // Set ability if (!isNullOrUndefined(config.abilityIndex)) { enemyPokemon.abilityIndex = config.abilityIndex; @@ -390,14 +385,11 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): } } - // mysteryEncounterBattleEffects will only be used IFF MYSTERY_ENCOUNTER_POST_SUMMON tag is applied + // mysteryEncounterBattleEffects will only be used if MYSTERY_ENCOUNTER_POST_SUMMON tag is applied if (config.mysteryEncounterBattleEffects) { enemyPokemon.mysteryEncounterBattleEffects = config.mysteryEncounterBattleEffects; } - // Requires re-priming summon data to update everything properly - enemyPokemon.primeSummonData(enemyPokemon.summonData); - if (enemyPokemon.isShiny() && !enemyPokemon["shinySparkle"]) { enemyPokemon.initShinySparkle(); } diff --git a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts index ed94a46ac18..a6a87b4ab9a 100644 --- a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts @@ -1031,9 +1031,6 @@ export function applyAbilityOverrideToPokemon(pokemon: Pokemon, ability: Abiliti } pokemon.fusionCustomPokemonData.ability = ability; } else { - if (!pokemon.customPokemonData) { - pokemon.customPokemonData = new CustomPokemonData(); - } pokemon.customPokemonData.ability = ability; } } diff --git a/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts b/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts index 578c2efefdb..ebef47eac2d 100644 --- a/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts +++ b/src/data/mystery-encounters/utils/encounter-transformation-sequence.ts @@ -88,7 +88,7 @@ export function doPokemonTransformationSequence( sprite.setPipelineData("shiny", previousPokemon.shiny); sprite.setPipelineData("variant", previousPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (previousPokemon.summonData?.speciesForm) { + if (previousPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = previousPokemon.getSprite().pipelineData[k]; @@ -108,7 +108,7 @@ export function doPokemonTransformationSequence( sprite.setPipelineData("shiny", transformPokemon.shiny); sprite.setPipelineData("variant", transformPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (transformPokemon.summonData?.speciesForm) { + if (transformPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = transformPokemon.getSprite().pipelineData[k]; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 5a9a6ee9b3d..59167ba47f6 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -33,6 +33,7 @@ import { SpeciesFormKey } from "#enums/species-form-key"; import { starterPassiveAbilities } from "#app/data/balance/passives"; import { loadPokemonVariantAssets } from "#app/sprites/pokemon-sprite"; import { hasExpSprite } from "#app/sprites/sprite-utils"; +import { Gender } from "./gender"; export enum Region { NORMAL, @@ -485,10 +486,10 @@ export abstract class PokemonSpeciesForm { break; case Species.ZACIAN: case Species.ZAMAZENTA: + // biome-ignore lint/suspicious/noFallthroughSwitchClause: Falls through if (formSpriteKey.startsWith("behemoth")) { formSpriteKey = "crowned"; } - // biome-ignore lint/suspicious/no-fallthrough: Falls through default: ret += `-${formSpriteKey}`; break; @@ -749,7 +750,7 @@ export abstract class PokemonSpeciesForm { let paletteColors: Map = new Map(); const originalRandom = Math.random; - Math.random = () => Phaser.Math.RND.realInRange(0, 1); + Math.random = Phaser.Math.RND.frac; globalScene.executeWithSeedOffset( () => { @@ -879,6 +880,21 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali return this.name; } + /** + * Pick and return a random {@linkcode Gender} for a {@linkcode Pokemon}. + * @returns A randomly rolled gender based on this Species' {@linkcode malePercent}. + */ + generateGender(): Gender { + if (isNullOrUndefined(this.malePercent)) { + return Gender.GENDERLESS; + } + + if (Phaser.Math.RND.realInRange(0, 1) <= this.malePercent) { + return Gender.MALE; + } + return Gender.FEMALE; + } + /** * Find the name of species with proper attachments for regionals and separate starter forms (Floette, Ursaluna) * @returns a string with the region name or other form name attached diff --git a/src/enums/biome.ts b/src/enums/biome.ts index bb9eaf454cc..7284528767d 100644 --- a/src/enums/biome.ts +++ b/src/enums/biome.ts @@ -1,4 +1,5 @@ export enum Biome { + // TODO: Should -1 be part of the enum signature (for "unknown place") TOWN, PLAINS, GRASS, diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 492856b4b52..b9c64ad071c 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -124,6 +124,7 @@ import { TarShotTag, AutotomizedTag, PowerTrickTag, + loadBattlerTag, type GrudgeTag, } from "../data/battler-tags"; import { WeatherType } from "#enums/weather-type"; @@ -305,6 +306,12 @@ type getBaseDamageParams = Omit type getAttackDamageParams = Omit; export default abstract class Pokemon extends Phaser.GameObjects.Container { + /** + * This pokemon's {@link https://bulbapedia.bulbagarden.net/wiki/Personality_value | Personality value/PID}, + * used to determine various parameters of this Pokemon. + * Represented as a random 32-bit unsigned integer. + * TODO: Stop treating this like a unique ID and stop treating 0 as no pokemon + */ public id: number; public name: string; public nickname: string; @@ -334,7 +341,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public luck: number; public pauseEvolutions: boolean; public pokerus: boolean; - public switchOutStatus: boolean; + public switchOutStatus = false; public evoCounter: number; public teraType: PokemonType; public isTerastallized: boolean; @@ -350,13 +357,23 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public fusionCustomPokemonData: CustomPokemonData | null; public fusionTeraType: PokemonType; - private summonDataPrimer: PokemonSummonData | null; + public customPokemonData: CustomPokemonData = new CustomPokemonData(); - public summonData: PokemonSummonData; - public battleData: PokemonBattleData; - public battleSummonData: PokemonBattleSummonData; - public turnData: PokemonTurnData; - public customPokemonData: CustomPokemonData; + /* Pokemon data types, in vaguely decreasing order of precedence */ + + /** + * Data that resets only on *battle* end (hit count, harvest berries, etc.) + * Kept between waves. + */ + public battleData: PokemonBattleData = new PokemonBattleData(); + /** Data that resets on switch or battle end (stat stages, battler tags, etc.) */ + public summonData: PokemonSummonData = new PokemonSummonData(); + /** Similar to {@linkcode PokemonSummonData}, but is reset on reload (not saved to file). */ + public tempSummonData: PokemonTempSummonData = new PokemonTempSummonData(); + /** Wave data correponding to moves/ability information revealed */ + public waveData: PokemonWaveData = new PokemonWaveData(); + /** Per-turn data like hit count & flinch tracking */ + public turnData: PokemonTurnData = new PokemonTurnData(); /** Used by Mystery Encounters to execute pokemon-specific logic (such as stat boosts) at start of battle */ public mysteryEncounterBattleEffects?: (pokemon: Pokemon) => void; @@ -370,6 +387,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { private shinySparkle: Phaser.GameObjects.Sprite; + // TODO: Rework this eventually constructor( x: number, y: number, @@ -390,38 +408,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { throw `Cannot create a player Pokemon for species '${species.getName(formIndex)}'`; } - const hiddenAbilityChance = new NumberHolder( - BASE_HIDDEN_ABILITY_CHANCE, - ); - if (!this.hasTrainer()) { - globalScene.applyModifiers( - HiddenAbilityRateBoosterModifier, - true, - hiddenAbilityChance, - ); - } - this.species = species; this.pokeball = dataSource?.pokeball || PokeballType.POKEBALL; this.level = level; - this.switchOutStatus = false; - // Determine the ability index - if (abilityIndex !== undefined) { - this.abilityIndex = abilityIndex; // Use the provided ability index if it is defined - } else { - // If abilityIndex is not provided, determine it based on species and hidden ability - const hasHiddenAbility = !randSeedInt(hiddenAbilityChance.value); - const randAbilityIndex = randSeedInt(2); - if (species.abilityHidden && hasHiddenAbility) { - // If the species has a hidden ability and the hidden ability is present - this.abilityIndex = 2; - } else { - // If there is no hidden ability or species does not have a hidden ability - this.abilityIndex = - species.ability2 !== species.ability1 ? randAbilityIndex : 0; // Use random ability index if species has a second ability, otherwise use 0 - } - } + this.abilityIndex = abilityIndex ?? this.generateAbilityIndex() + if (formIndex !== undefined) { this.formIndex = formIndex; } @@ -437,6 +429,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.exp = dataSource?.exp || getLevelTotalExp(this.level, species.growthRate); this.levelExp = dataSource?.levelExp || 0; + if (dataSource) { this.id = dataSource.id; this.hp = dataSource.hp; @@ -512,8 +505,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.variant = this.shiny ? this.generateShinyVariant() : 0; } - this.customPokemonData = new CustomPokemonData(); - if (nature !== undefined) { this.setNature(nature); } else { @@ -554,6 +545,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.stellarTypesBoosted = []; } + this.summonData = new PokemonSummonData(dataSource?.summonData); + this.battleData = new PokemonBattleData(dataSource?.battleData); + this.generateName(); if (!species.isObtainable()) { @@ -563,14 +557,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (!dataSource) { this.calculateStats(); } + } /** * @param {boolean} useIllusion - Whether we want the fake name or the real name of the Pokemon (for Illusion ability). */ getNameToRender(useIllusion: boolean = true) { - const name: string = (!useIllusion && !!this.summonData?.illusion) ? this.summonData?.illusion.basePokemon!.name : this.name; - const nickname: string = (!useIllusion && !!this.summonData?.illusion) ? this.summonData?.illusion.basePokemon!.nickname : this.nickname; + const name: string = (!useIllusion && this.summonData.illusion) ? this.summonData.illusion.basePokemon.name : this.name; + const nickname: string = (!useIllusion && this.summonData.illusion) ? this.summonData.illusion.basePokemon.nickname : this.nickname; try { if (nickname) { return decodeURIComponent(escape(atob(nickname))); @@ -584,7 +579,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getPokeball(useIllusion = false){ if(useIllusion){ - return this.summonData?.illusion?.pokeball ?? this.pokeball + return this.summonData.illusion?.pokeball ?? this.pokeball } else { return this.pokeball } @@ -679,9 +674,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * Checks if the pokemon is allowed in battle (ie: not fainted, and allowed under any active challenges). - * @param onField `true` to also check if the pokemon is currently on the field, defaults to `false` - * @returns `true` if the pokemon is "active". Returns `false` if there is no active {@linkcode BattleScene} + * Checks if this {@linkcode Pokemon} is allowed in battle (ie: not fainted, and allowed under any active challenges). + * @param onField `true` to also check if the pokemon is currently on the field; default `false` + * @returns `true` if the pokemon is "active", as described above. + * Returns `false` if there is no active {@linkcode BattleScene} or the pokemon is disallowed. */ public isActive(onField = false): boolean { if (!globalScene) { @@ -723,11 +719,38 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } + /** Generate `abilityIndex` based on species and hidden ability if not pre-defined. */ + private generateAbilityIndex(): number { + + // Roll for hidden ability chance, applying any ability charms for enemy mons + const hiddenAbilityChance = new NumberHolder( + BASE_HIDDEN_ABILITY_CHANCE, + ); + if (!this.hasTrainer()) { + globalScene.applyModifiers( + HiddenAbilityRateBoosterModifier, + true, + hiddenAbilityChance, + ); + } + + // If the roll succeeded and we have one, use HA; otherwise pick a random ability + const hasHiddenAbility = !randSeedInt(hiddenAbilityChance.value); + if (this.species.abilityHidden && hasHiddenAbility) { + return 2; + } + + // only use random ability if species has a second ability + return this.species.ability2 !== this.species.ability1 ? randSeedInt(2) : 0; + } + + + /** * Generate an illusion of the last pokemon in the party, as other wild pokemon in the area. */ setIllusion(pokemon: Pokemon): boolean { - if(!!this.summonData?.illusion){ + if (this.summonData.illusion) { this.breakIllusion(); } if (this.hasTrainer()) { @@ -787,15 +810,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } breakIllusion(): boolean { - if (!this.summonData?.illusion) { + if (!this.summonData.illusion) { return false; } else { - this.name = this.summonData?.illusion.basePokemon.name; - this.nickname = this.summonData?.illusion.basePokemon.nickname; - this.shiny = this.summonData?.illusion.basePokemon.shiny; - this.variant = this.summonData?.illusion.basePokemon.variant; - this.fusionVariant = this.summonData?.illusion.basePokemon.fusionVariant; - this.fusionShiny = this.summonData?.illusion.basePokemon.fusionShiny; + this.name = this.summonData.illusion.basePokemon.name; + this.nickname = this.summonData.illusion.basePokemon.nickname; + this.shiny = this.summonData.illusion.basePokemon.shiny; + this.variant = this.summonData.illusion.basePokemon.variant; + this.fusionVariant = this.summonData.illusion.basePokemon.fusionVariant; + this.fusionShiny = this.summonData.illusion.basePokemon.fusionShiny; this.summonData.illusion = null; } if (this.isOnField()) { @@ -825,13 +848,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const loadPromises: Promise[] = []; // Assets for moves loadPromises.push(loadMoveAnimations(this.getMoveset().map(m => m.getMove().id))); - + // Load the assets for the species form - const formIndex = !!this.summonData?.illusion && useIllusion ? this.summonData?.illusion.formIndex : this.formIndex; + const formIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.formIndex : this.formIndex; loadPromises.push( this.getSpeciesForm(false, useIllusion).loadAssets( - this.getGender(useIllusion) === Gender.FEMALE, - formIndex, + this.getGender(useIllusion) === Gender.FEMALE, + formIndex, this.isShiny(useIllusion), this.getVariant(useIllusion) ), @@ -844,13 +867,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ); } if (this.getFusionSpeciesForm()) { - const fusionFormIndex = !!this.summonData?.illusion && useIllusion ? this.summonData?.illusion.fusionFormIndex : this.fusionFormIndex; - const fusionShiny = !!this.summonData?.illusion && !useIllusion ? this.summonData?.illusion.basePokemon!.fusionShiny : this.fusionShiny; - const fusionVariant = !!this.summonData?.illusion && !useIllusion ? this.summonData?.illusion.basePokemon!.fusionVariant : this.fusionVariant; + const fusionFormIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.fusionFormIndex : this.fusionFormIndex; + const fusionShiny = !useIllusion && this.summonData.illusion?.basePokemon ? this.summonData.illusion.basePokemon.fusionShiny : this.fusionShiny; + const fusionVariant = !useIllusion && this.summonData.illusion?.basePokemon ? this.summonData.illusion.basePokemon.fusionVariant : this.fusionVariant; loadPromises.push(this.getFusionSpeciesForm(false, useIllusion).loadAssets( - this.getFusionGender(false, useIllusion) === Gender.FEMALE, - fusionFormIndex, - fusionShiny, + this.getFusionGender(false, useIllusion) === Gender.FEMALE, + fusionFormIndex, + fusionShiny, fusionVariant )); globalScene.loadPokemonAtlas( @@ -904,7 +927,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { // update the fusion palette this.updateFusionPalette(); - if (this.summonData?.speciesForm) { + if (this.summonData.speciesForm) { this.updateFusionPalette(true); } } @@ -1014,11 +1037,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getSpriteId(ignoreOverride?: boolean): string { - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex! : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getSpriteId( - this.getGender(ignoreOverride, true) === Gender.FEMALE, - formIndex, - this.shiny, + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, this.variant ); } @@ -1028,13 +1051,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { back = this.isPlayer(); } - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex! : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getSpriteId( - this.getGender(ignoreOverride, true) === Gender.FEMALE, - formIndex, - this.shiny, - this.variant, + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, + this.variant, back ); } @@ -1043,8 +1066,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.getSpeciesForm(ignoreOverride, false).getSpriteKey( this.getGender(ignoreOverride) === Gender.FEMALE, this.formIndex, - this.summonData?.illusion?.basePokemon.shiny ?? this.shiny, - this.summonData?.illusion?.basePokemon.variant ?? this.variant + this.summonData.illusion?.basePokemon.shiny ?? this.shiny, + this.summonData.illusion?.basePokemon.variant ?? this.variant ); } @@ -1053,11 +1076,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getFusionSpriteId(ignoreOverride?: boolean): string { - const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionFormIndex = this.summonData.illusion?.fusionFormIndex ?? this.fusionFormIndex; return this.getFusionSpeciesForm(ignoreOverride, true).getSpriteId( - this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, - fusionFormIndex, - this.fusionShiny, + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, this.fusionVariant ); } @@ -1067,13 +1090,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { back = this.isPlayer(); } - const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionFormIndex = this.summonData.illusion?.fusionFormIndex ?? this.fusionFormIndex; return this.getFusionSpeciesForm(ignoreOverride, true).getSpriteId( - this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, - fusionFormIndex, - this.fusionShiny, - this.fusionVariant, + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, + this.fusionVariant, back ); } @@ -1093,52 +1116,56 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getIconAtlasKey(ignoreOverride?: boolean): string { - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getIconAtlasKey( - formIndex, - this.shiny, + formIndex, + this.shiny, this.variant ); } getFusionIconAtlasKey(ignoreOverride?: boolean): string { return this.getFusionSpeciesForm(ignoreOverride, true).getIconAtlasKey( - this.fusionFormIndex, - this.fusionShiny, + this.fusionFormIndex, + this.fusionShiny, this.fusionVariant ); } getIconId(ignoreOverride?: boolean): string { - const formIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; + const formIndex = this.summonData.illusion?.formIndex ?? this.formIndex; return this.getSpeciesForm(ignoreOverride, true).getIconId( - this.getGender(ignoreOverride, true) === Gender.FEMALE, - formIndex, - this.shiny, + this.getGender(ignoreOverride, true) === Gender.FEMALE, + formIndex, + this.shiny, this.variant ); } getFusionIconId(ignoreOverride?: boolean): string { - const fusionFormIndex: integer = !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionFormIndex = this.summonData.illusion?.fusionFormIndex ?? this.fusionFormIndex; return this.getFusionSpeciesForm(ignoreOverride, true).getIconId( - this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, - fusionFormIndex, - this.fusionShiny, + this.getFusionGender(ignoreOverride, true) === Gender.FEMALE, + fusionFormIndex, + this.fusionShiny, this.fusionVariant ); } /** - * @param {boolean} useIllusion - Whether we want the speciesForm of the illusion or not. + * Get this {@linkcode Pokemon}'s {@linkcode PokemonSpeciesForm}. + * @param ignoreOverride - Whether to ignore overridden species from {@linkcode Moves.TRANSFORM}, default `false`. + * This overrides `useIllusion` if `true`. + * @param useIllusion - `true` to use the speciesForm of the illusion; default `false`. */ - getSpeciesForm(ignoreOverride?: boolean, useIllusion: boolean = false): PokemonSpeciesForm { - const species: PokemonSpecies = useIllusion && !!this.summonData?.illusion ? getPokemonSpecies(this.summonData?.illusion.species) : this.species; - const formIndex: integer = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.formIndex : this.formIndex; - - if (!ignoreOverride && this.summonData?.speciesForm) { + getSpeciesForm(ignoreOverride: boolean = false, useIllusion: boolean = false): PokemonSpeciesForm { + if (!ignoreOverride && this.summonData.speciesForm) { return this.summonData.speciesForm; } + + const species: PokemonSpecies = useIllusion && this.summonData.illusion ? getPokemonSpecies(this.summonData.illusion.species) : this.species; + const formIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.formIndex : this.formIndex; + if (species.forms && species.forms.length > 0) { return species.forms[formIndex]; } @@ -1150,14 +1177,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fusionSpeciesForm of the illusion or not. */ getFusionSpeciesForm(ignoreOverride?: boolean, useIllusion: boolean = false): PokemonSpeciesForm { - const fusionSpecies: PokemonSpecies = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.fusionSpecies! : this.fusionSpecies!; - const fusionFormIndex: integer = useIllusion && !!this.summonData?.illusion ? this.summonData?.illusion.fusionFormIndex! : this.fusionFormIndex; + const fusionSpecies: PokemonSpecies = useIllusion && this.summonData.illusion ? this.summonData.illusion.fusionSpecies! : this.fusionSpecies!; + const fusionFormIndex = useIllusion && this.summonData.illusion ? this.summonData.illusion.fusionFormIndex! : this.fusionFormIndex; - if (!ignoreOverride && this.summonData?.speciesForm) { + if (!ignoreOverride && this.summonData.fusionSpeciesForm) { return this.summonData.fusionSpeciesForm; } if ( - !fusionSpecies?.forms?.length || + !fusionSpecies?.forms?.length || fusionFormIndex >= fusionSpecies?.forms.length ) { return fusionSpecies; @@ -1185,12 +1212,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { formKey === "ruchbah-starmobile" || formKey === "caph-starmobile" ) { + // G-Max and starmobiles have flat 1.5x scale return 1.5; } - if (this.customPokemonData.spriteScale > 0) { - return this.customPokemonData.spriteScale; + + // TODO: Rather than using -1 as a default... why don't we just change it to 1???????? + if (this.customPokemonData.spriteScale <= 0) { + return 1; } - return 1; + return this.customPokemonData.spriteScale; } /** Resets the pokemon's field sprite properties, including position, alpha, and scale */ @@ -1384,12 +1414,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * Retrieves the entire set of stats of the {@linkcode Pokemon}. - * @param bypassSummonData prefer actual stats (`true` by default) or in-battle overriden stats (`false`) - * @returns the numeric values of the {@linkcode Pokemon}'s stats + * Retrieves the entire set of stats of this {@linkcode Pokemon}. + * @param bypassSummonData - whether to use actual stats or in-battle overriden stats from Transform; default `true` + * @returns the numeric values of this {@linkcode Pokemon}'s stats */ getStats(bypassSummonData = true): number[] { - if (!bypassSummonData && this.summonData?.stats) { + if (!bypassSummonData && this.summonData.stats) { return this.summonData.stats; } return this.stats; @@ -1404,7 +1434,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getStat(stat: PermanentStat, bypassSummonData = true): number { if ( !bypassSummonData && - this.summonData && this.summonData.stats[stat] !== 0 ) { return this.summonData.stats[stat]; @@ -1421,12 +1450,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param bypassSummonData write to actual stats (`true` by default) or in-battle overridden stats (`false`) */ setStat(stat: PermanentStat, value: number, bypassSummonData = true): void { - if (value >= 0) { - if (!bypassSummonData && this.summonData) { - this.summonData.stats[stat] = value; - } else { - this.stats[stat] = value; - } + if (value < 0) { + return; + } + + if (!bypassSummonData) { + this.summonData.stats[stat] = value; + } else { + this.stats[stat] = value; } } @@ -1455,20 +1486,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param value the desired numeric value */ setStatStage(stat: BattleStat, value: number): void { - if (this.summonData) { - if (value >= -6) { - this.summonData.statStages[stat - 1] = Math.min(value, 6); - } else { - this.summonData.statStages[stat - 1] = Math.max(value, -6); - } + if (value >= -6) { + this.summonData.statStages[stat - 1] = Math.min(value, 6); + } else { + this.summonData.statStages[stat - 1] = Math.max(value, -6); } } /** * Calculate the critical-hit stage of a move used against this pokemon by * the given source - * - * @param source - The {@linkcode Pokemon} who using the move + * @param source - The {@linkcode Pokemon} using the move * @param move - The {@linkcode Move} being used * @returns The final critical-hit stage value */ @@ -1826,9 +1854,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real gender (illusion ability). */ getGender(ignoreOverride?: boolean, useIllusion: boolean = false): Gender { - if (useIllusion && !!this.summonData?.illusion) { - return this.summonData?.illusion.gender!; - } else if (!ignoreOverride && this.summonData?.gender !== undefined) { + if (useIllusion && this.summonData.illusion) { + return this.summonData.illusion.gender; + } else if (!ignoreOverride && !isNullOrUndefined(this.summonData.gender)) { return this.summonData.gender; } return this.gender; @@ -1838,9 +1866,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real gender (illusion ability). */ getFusionGender(ignoreOverride?: boolean, useIllusion: boolean = false): Gender { - if (useIllusion && !!this.summonData?.illusion) { - return this.summonData?.illusion.fusionGender!; - } else if (!ignoreOverride && this.summonData?.fusionGender !== undefined) { + if (useIllusion && this.summonData.illusion?.fusionGender) { + return this.summonData.illusion.fusionGender; + } else if (!ignoreOverride && !isNullOrUndefined(this.summonData.fusionGender)) { return this.summonData.fusionGender; } return this.fusionGender; @@ -1850,21 +1878,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real shininess (illusion ability). */ isShiny(useIllusion: boolean = false): boolean { - if (!useIllusion && !!this.summonData?.illusion) { - return this.summonData?.illusion.basePokemon?.shiny || (!!this.summonData?.illusion.fusionSpecies && this.summonData?.illusion.basePokemon?.fusionShiny) || false; + if (!useIllusion && this.summonData.illusion) { + return this.summonData.illusion.basePokemon?.shiny || (this.summonData.illusion.fusionSpecies && this.summonData.illusion.basePokemon?.fusionShiny) || false; } else { return this.shiny || (this.isFusion(useIllusion) && this.fusionShiny); } } /** - * + * * @param useIllusion - Whether we want the fake or real shininess (illusion ability). * @returns `true` if the {@linkcode Pokemon} is shiny and the fusion is shiny as well, `false` otherwise */ isDoubleShiny(useIllusion: boolean = false): boolean { - if (!useIllusion && !!this.summonData?.illusion) { - return this.isFusion(false) && this.summonData?.illusion.basePokemon.shiny && this.summonData?.illusion.basePokemon.fusionShiny; + if (!useIllusion && this.summonData.illusion?.basePokemon) { + return this.isFusion(false) && this.summonData.illusion.basePokemon.shiny && this.summonData.illusion.basePokemon.fusionShiny; } else { return this.isFusion(useIllusion) && this.shiny && this.fusionShiny; } @@ -1874,25 +1902,23 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param {boolean} useIllusion - Whether we want the fake or real variant (illusion ability). */ getVariant(useIllusion: boolean = false): Variant { - if (!useIllusion && !!this.summonData?.illusion) { - return !this.isFusion(false) - ? this.summonData?.illusion.basePokemon!.variant + if (!useIllusion && this.summonData.illusion) { + return !this.isFusion(false) + ? this.summonData.illusion.basePokemon!.variant : Math.max(this.variant, this.fusionVariant) as Variant; } else { - return !this.isFusion(true) - ? this.variant + return !this.isFusion(true) + ? this.variant : Math.max(this.variant, this.fusionVariant) as Variant; } } getBaseVariant(doubleShiny: boolean): Variant { if (doubleShiny) { - return !!this.summonData?.illusion - ? this.summonData?.illusion.basePokemon!.variant - : this.variant; - } else { - return this.getVariant(); + return this.summonData.illusion?.basePokemon?.variant ?? this.variant; } + + return this.getVariant(); } getLuck(): number { @@ -1900,19 +1926,18 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } isFusion(useIllusion: boolean = false): boolean { - if (useIllusion && !!this.summonData?.illusion) { - return !!this.summonData?.illusion.fusionSpecies; - } else { - return !!this.fusionSpecies; + if (useIllusion && this.summonData.illusion) { + return !!this.summonData.illusion.fusionSpecies; } + return !!this.fusionSpecies; } /** * @param {boolean} useIllusion - Whether we want the fake name or the real name of the Pokemon (for Illusion ability). */ getName(useIllusion: boolean = false): string { - return (!useIllusion && !!this.summonData?.illusion && this.summonData?.illusion.basePokemon) - ? this.summonData?.illusion.basePokemon.name + return (!useIllusion && this.summonData.illusion?.basePokemon) + ? this.summonData.illusion.basePokemon.name : this.name; } @@ -1946,7 +1971,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getMoveset(ignoreOverride?: boolean): PokemonMove[] { const ret = - !ignoreOverride && this.summonData?.moveset + !ignoreOverride && this.summonData.moveset ? this.summonData.moveset : this.moveset; @@ -2032,9 +2057,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns array of {@linkcode PokemonType} */ public getTypes( - includeTeraType = false, - forDefend: boolean = false, - ignoreOverride?: boolean, + includeTeraType = false, + forDefend: boolean = false, + ignoreOverride?: boolean, useIllusion: boolean | "AUTO" = "AUTO" ): PokemonType[] { const types: PokemonType[] = []; @@ -2053,10 +2078,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const doIllusion: boolean = (useIllusion === "AUTO") ? !forDefend : useIllusion; if ( - !ignoreOverride && - this.summonData?.types && - this.summonData.types.length > 0 && - (!this.summonData?.illusion || !doIllusion) + !ignoreOverride && + this.summonData.types && + this.summonData.types.length > 0 && + (!this.summonData.illusion || !doIllusion) ) { this.summonData.types.forEach(t => types.push(t)); } else { @@ -2137,10 +2162,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } - // the type added to Pokemon from moves like Forest's Curse or Trick Or Treat + // check type added to Pokemon from moves like Forest's Curse or Trick Or Treat if ( !ignoreOverride && - this.summonData && this.summonData.addedType && !types.includes(this.summonData.addedType) ) { @@ -2183,7 +2207,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns The non-passive {@linkcode Ability} of the pokemon */ public getAbility(ignoreOverride = false): Ability { - if (!ignoreOverride && this.summonData?.ability) { + if (!ignoreOverride && this.summonData.ability) { return allAbilities[this.summonData.ability]; } if (Overrides.ABILITY_OVERRIDE && this.isPlayer()) { @@ -2249,8 +2273,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Accounts for all the various effects which can affect whether an ability will be present or * in effect, and both passive and non-passive. * @param attrType - {@linkcode AbAttr} The ability attribute to check for. - * @param canApply - If `false`, it doesn't check whether the ability is currently active; Default `true` - * @param ignoreOverride - If `true`, it ignores ability changing effects; Default `false` + * @param canApply - Whether to check if the ability is currently active; Default `true` + * @param ignoreOverride - Whether to ignore ability changing effects; Default `false` * @returns An array of all the ability attributes on this ability. */ public getAbilityAttrs( @@ -2362,7 +2386,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } if ( - this.summonData?.abilitySuppressed && + this.summonData.abilitySuppressed && ability.isSuppressable ) { return false; @@ -2403,15 +2427,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Checks whether a pokemon has the specified ability and it's in effect. Accounts for all the various * effects which can affect whether an ability will be present or in effect, and both passive and * non-passive. This is the primary way to check whether a pokemon has a particular ability. - * @param {Abilities} ability The ability to check for - * @param {boolean} canApply If false, it doesn't check whether the ability is currently active - * @param {boolean} ignoreOverride If true, it ignores ability changing effects - * @returns {boolean} Whether the ability is present and active + * @param ability The ability to check for + * @param canApply - Whether to check if the ability is currently active; default `true` + * @param ignoreOverride Whether to ignore ability changing effects; default `false` + * @returns `true` if the ability is present and active */ public hasAbility( ability: Abilities, canApply = true, - ignoreOverride?: boolean, + ignoreOverride = false, ): boolean { if ( this.getAbility(ignoreOverride).id === ability && @@ -2434,15 +2458,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Accounts for all the various effects which can affect whether an ability will be present or * in effect, and both passive and non-passive. This is one of the two primary ways to check * whether a pokemon has a particular ability. - * @param {AbAttr} attrType The ability attribute to check for - * @param {boolean} canApply If false, it doesn't check whether the ability is currently active - * @param {boolean} ignoreOverride If true, it ignores ability changing effects - * @returns {boolean} Whether an ability with that attribute is present and active + * @param attrType The {@link AbAttr | ability attribute} to check for + * @param canApply - Whether to check if the ability is currently active; default `true` + * @param ignoreOverride Whether to ignore ability changing effects; default `false` + * @returns `true` if an ability with the given {@linkcode AbAttr} is present and active */ public hasAbilityWithAttr( attrType: Constructor, canApply = true, - ignoreOverride?: boolean, + ignoreOverride = false, ): boolean { if ( (!canApply || this.canApplyAbility()) && @@ -2591,9 +2615,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { null, move, simulated, - moveTypeHolder, + moveTypeHolder ); + // If the user is terastallized and the move is tera blast, or tera starstorm that is stellar type, + // then bypass the check for ion deluge and electrify + if (this.isTerastallized && (move.id === Moves.TERA_BLAST || move.id === Moves.TERA_STARSTORM && moveTypeHolder.value === PokemonType.STELLAR)) { + return moveTypeHolder.value as PokemonType; + } + globalScene.arena.applyTags( ArenaTagType.ION_DELUGE, simulated, @@ -2635,14 +2665,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const moveType = source.getMoveType(move); const typeMultiplier = new NumberHolder( - move.category !== MoveCategory.STATUS || + move.category !== MoveCategory.STATUS || move.hasAttr(RespectAttackTypeImmunityAttr) ? this.getAttackTypeEffectiveness( - moveType, - source, - false, - simulated, - move, + moveType, + source, + false, + simulated, + move, useIllusion ) : 1); @@ -2753,11 +2783,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns a multiplier for the type effectiveness */ getAttackTypeEffectiveness( - moveType: PokemonType, - source?: Pokemon, - ignoreStrongWinds: boolean = false, - simulated: boolean = true, - move?: Move, + moveType: PokemonType, + source?: Pokemon, + ignoreStrongWinds: boolean = false, + simulated: boolean = true, + move?: Move, useIllusion: boolean = false ): TypeDamageMultiplier { if (moveType === PokemonType.STELLAR) { @@ -3137,7 +3167,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const move = new PokemonMove(moveId); this.moveset[moveIndex] = move; - if (this.summonData?.moveset) { + if (this.summonData.moveset) { this.summonData.moveset[moveIndex] = move; } } @@ -3878,7 +3908,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getOpponent(targetIndex: number): Pokemon | null { const ret = this.getOpponents()[targetIndex]; - if (ret.summonData) { + if (ret.summonData) { // TODO: why does this check for summonData and can we remove it? return ret; } return null; @@ -3886,7 +3916,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Returns the pokemon that oppose this one and are active - * + * * @param onField - whether to also check if the pokemon is currently on the field (defaults to true) */ getOpponents(onField = true): Pokemon[] { @@ -4196,12 +4226,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** Determine the STAB multiplier for a move used against this pokemon. - * + * * @param source - The attacking {@linkcode Pokemon} * @param move - The {@linkcode Move} used in the attack * @param ignoreSourceAbility - If `true`, ignores the attacking Pokemon's ability effects * @param simulated - If `true`, suppresses changes to game state during the calculation - * + * * @returns The STAB multiplier for the move used against this Pokemon */ calculateStabMultiplier(source: Pokemon, move: Move, ignoreSourceAbility: boolean, simulated: boolean): number { @@ -4596,7 +4626,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }; } - /** Calculate whether the given move critically hits this pokemon + /** Calculate whether the given move critically hits this pokemon * @param source - The {@linkcode Pokemon} using the move * @param move - The {@linkcode Move} being used * @param simulated - If `true`, suppresses changes to game state during calculation (defaults to `true`) @@ -4625,16 +4655,16 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { applyAbAttrs(BlockCritAbAttr, this, null, simulated, isCritical); return isCritical.value; - + } /** * Called by damageAndUpdate() * @param damage integer * @param ignoreSegments boolean, not currently used - * @param preventEndure used to update damage if endure or sturdy - * @param ignoreFaintPhase flag on wheter to add FaintPhase if pokemon after applying damage faints - * @returns integer representing damage + * @param preventEndure used to update damage if endure or sturdy + * @param ignoreFaintPhas flag on whether to add FaintPhase if pokemon after applying damage faints + * @returns integer representing damage dealt */ damage( damage: number, @@ -4647,6 +4677,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const surviveDamage = new BooleanHolder(false); + // check for endure and other abilities that would prevent us from death if (!preventEndure && this.hp - damage <= 0) { if (this.hp >= 1 && this.getTag(BattlerTagType.ENDURING)) { surviveDamage.value = this.lapseTag(BattlerTagType.ENDURING); @@ -4690,7 +4721,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Given the damage, adds a new DamagePhase and update HP values, etc. - * + * * Checks for 'Indirect' HitResults to account for Endure/Reviver Seed applying correctly * @param damage integer - passed to damage() * @param result an enum if it's super effective, not very, etc. @@ -4702,25 +4733,25 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { */ damageAndUpdate(damage: number, { - result = HitResult.EFFECTIVE, - isCritical = false, - ignoreSegments = false, - ignoreFaintPhase = false, + result = HitResult.EFFECTIVE, + isCritical = false, + ignoreSegments = false, + ignoreFaintPhase = false, source = undefined, }: { - result?: DamageResult, - isCritical?: boolean, - ignoreSegments?: boolean, - ignoreFaintPhase?: boolean, + result?: DamageResult, + isCritical?: boolean, + ignoreSegments?: boolean, + ignoreFaintPhase?: boolean, source?: Pokemon, } = {} ): number { const isIndirectDamage = [ HitResult.INDIRECT, HitResult.INDIRECT_KO ].includes(result); const damagePhase = new DamageAnimPhase( - this.getBattlerIndex(), - damage, - result as DamageResult, + this.getBattlerIndex(), + damage, + result as DamageResult, isCritical ); globalScene.unshiftPhase(damagePhase); @@ -4856,51 +4887,51 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getTag(tagType: BattlerTagType.GRUDGE): GrudgeTag | nil; /** @overload */ - getTag(tagType: BattlerTagType): BattlerTag | nil; + getTag(tagType: BattlerTagType): BattlerTag | undefined; /** @overload */ - getTag(tagType: Constructor): T | nil; + getTag(tagType: Constructor): T | undefined; - getTag(tagType: BattlerTagType | Constructor): BattlerTag | nil { - if (!this.summonData) { - return null; - } + getTag(tagType: BattlerTagType | Constructor): BattlerTag | undefined { return tagType instanceof Function ? this.summonData.tags.find(t => t instanceof tagType) : this.summonData.tags.find(t => t.tagType === tagType); } findTag(tagFilter: (tag: BattlerTag) => boolean) { - if (!this.summonData) { - return null; - } return this.summonData.tags.find(t => tagFilter(t)); } findTags(tagFilter: (tag: BattlerTag) => boolean): BattlerTag[] { - if (!this.summonData) { - return []; - } return this.summonData.tags.filter(t => tagFilter(t)); } + /** + * Tick down the first {@linkcode BattlerTag} found matching the given {@linkcode BattlerTagType}, + * removing it if its duration goes below 0. + * @param tagType the {@linkcode BattlerTagType} to check against + * @returns `true` if the tag was present + */ lapseTag(tagType: BattlerTagType): boolean { - if (!this.summonData) { - return false; - } const tags = this.summonData.tags; const tag = tags.find(t => t.tagType === tagType); - if (tag && !tag.lapse(this, BattlerTagLapseType.CUSTOM)) { + if (!tag) { + return false + } + + if (!tag.lapse(this, BattlerTagLapseType.CUSTOM)) { tag.onRemove(this); tags.splice(tags.indexOf(tag), 1); } - return !!tag; + return true } + /** + * Tick down all {@linkcode BattlerTags} matching the given {@linkcode BattlerTagLapseType}, + * removing any whose durations fall below 0. + * @param tagType the {@linkcode BattlerTagLapseType} to tick down + */ lapseTags(lapseType: BattlerTagLapseType): void { - if (!this.summonData) { - return; - } const tags = this.summonData.tags; tags .filter( @@ -4915,23 +4946,24 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }); } - removeTag(tagType: BattlerTagType): boolean { - if (!this.summonData) { - return false; - } + /** + * Remove the first tag matching the given {@linkcode BattlerTagType}. + * @param tagType the {@linkcode BattlerTagType} to search for and remove + */ + removeTag(tagType: BattlerTagType): void { const tags = this.summonData.tags; const tag = tags.find(t => t.tagType === tagType); if (tag) { tag.onRemove(this); tags.splice(tags.indexOf(tag), 1); } - return !!tag; } - findAndRemoveTags(tagFilter: (tag: BattlerTag) => boolean): boolean { - if (!this.summonData) { - return false; - } + /** + * Find and remove all {@linkcode BattlerTag}s matching the given function. + * @param tagFilter a function dictating which tags to remove + */ + findAndRemoveTags(tagFilter: (tag: BattlerTag) => boolean): void { const tags = this.summonData.tags; const tagsToRemove = tags.filter(t => tagFilter(t)); for (const tag of tagsToRemove) { @@ -4939,7 +4971,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { tag.onRemove(this); tags.splice(tags.indexOf(tag), 1); } - return true; } removeTagsBySourceId(sourceId: number): void { @@ -4947,13 +4978,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } transferTagsBySourceId(sourceId: number, newSourceId: number): void { - if (!this.summonData) { - return; - } - const tags = this.summonData.tags; - tags - .filter(t => t.sourceId === sourceId) - .forEach(t => (t.sourceId = newSourceId)); + this.summonData.tags.forEach(t => { + if (t.sourceId === sourceId) { + t.sourceId = newSourceId; + } + }) } /** @@ -5069,7 +5098,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } public getMoveHistory(): TurnMove[] { - return this.battleSummonData.moveHistory; + return this.summonData.moveHistory; } public pushMoveHistory(turnMove: TurnMove): void { @@ -5367,7 +5396,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } const message = effect && this.status?.effect === effect ? getStatusEffectOverlapText(effect ?? StatusEffect.NONE, getPokemonNameWithAffix(this)) - : i18next.t("abilityTriggers:moveImmunity", { + : i18next.t("abilityTriggers:moveImmunity", { pokemonNameWithAffix: getPokemonNameWithAffix(this), }); globalScene.queueMessage(message); @@ -5512,9 +5541,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { sourcePokemon !== this && this.isSafeguarded(sourcePokemon) ) { - if(!quiet){ + if(!quiet){ globalScene.queueMessage( - i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(this) + i18next.t("moveTriggers:safeguard", { targetName: getPokemonNameWithAffix(this) })); } return false; @@ -5602,13 +5631,44 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param revive Whether revive should be cured; defaults to true. * @param confusion Whether resetStatus should include confusion or not; defaults to false. * @param reloadAssets Whether to reload the assets or not; defaults to false. + * @param asPhase Whether to reset the status in a phase or immediately */ - resetStatus(revive = true, confusion = false, reloadAssets = false): void { + resetStatus(revive = true, confusion = false, reloadAssets = false, asPhase = true): void { const lastStatus = this.status?.effect; if (!revive && lastStatus === StatusEffect.FAINT) { return; } - globalScene.unshiftPhase(new ResetStatusPhase(this, confusion, reloadAssets)); + + if (asPhase) { + globalScene.unshiftPhase(new ResetStatusPhase(this, confusion, reloadAssets)); + } else { + this.clearStatus(confusion, reloadAssets); + } + } + + /** + * Performs the action of clearing a Pokemon's status + * + * This is a helper to {@linkcode resetStatus}, which should be called directly instead of this method + */ + public clearStatus(confusion: boolean, reloadAssets: boolean) { + const lastStatus = this.status?.effect; + this.status = null; + if (lastStatus === StatusEffect.SLEEP) { + this.setFrameRate(10); + if (this.getTag(BattlerTagType.NIGHTMARE)) { + this.lapseTag(BattlerTagType.NIGHTMARE); + } + } + if (confusion) { + if (this.getTag(BattlerTagType.CONFUSED)) { + this.lapseTag(BattlerTagType.CONFUSED); + } + } + if (reloadAssets) { + this.loadAssets(false).then(() => this.playAnim()); + } + this.updateInfo(true); } /** @@ -5630,65 +5690,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } - primeSummonData(summonDataPrimer: PokemonSummonData): void { - this.summonDataPrimer = summonDataPrimer; - } - - // For PreSummonAbAttr to get access to summonData - initSummondata(): void { - this.summonData = this.summonData ?? this.summonDataPrimer ?? new PokemonSummonData() - } - + /** + * Reset this Pokemon's {@linkcode PokemonSummonData | SummonData} and {@linkcode PokemonTempSummonData | TempSummonData} + * in preparation for switching pokemon, as well as removing any relevant on-switch tags. + */ resetSummonData(): void { - const illusion: IllusionData | null = this.summonData?.illusion; - if (this.summonData?.speciesForm) { + const illusion: IllusionData | null = this.summonData.illusion; + if (this.summonData.speciesForm) { this.summonData.speciesForm = null; this.updateFusionPalette(); } this.summonData = new PokemonSummonData(); + this.tempSummonData = new PokemonTempSummonData(); this.setSwitchOutStatus(false); - if (!this.battleData) { - this.resetBattleData(); - } - this.resetBattleSummonData(); - if (this.summonDataPrimer) { - for (const k of Object.keys(this.summonDataPrimer)) { - if (this.summonDataPrimer[k]) { - this.summonData[k] = this.summonDataPrimer[k]; - } - } - // If this Pokemon has a Substitute when loading in, play an animation to add its sprite - if (this.getTag(SubstituteTag)) { - globalScene.triggerPokemonBattleAnim( - this, - PokemonAnimType.SUBSTITUTE_ADD, - ); - this.getTag(SubstituteTag)!.sourceInFocus = false; - } - - // If this Pokemon has Commander and Dondozo as an active ally, hide this Pokemon's sprite. - if ( - this.hasAbilityWithAttr(CommanderAbAttr) && - globalScene.currentBattle.double && - this.getAlly()?.species.speciesId === Species.DONDOZO - ) { - this.setVisible(false); - } - this.summonDataPrimer = null; - } - this.summonData.illusion = illusion - this.updateInfo(); - } - - resetBattleData(): void { - this.battleData = new PokemonBattleData(); - } - - resetBattleSummonData(): void { - this.battleSummonData = new PokemonBattleSummonData(); - if (this.getTag(BattlerTagType.SEEDED)) { - this.lapseTag(BattlerTagType.SEEDED); - } if (globalScene) { globalScene.triggerPokemonFormChange( this, @@ -5696,6 +5710,45 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { true, ); } + + // If this Pokemon has a Substitute when loading in, play an animation to add its sprite + if (this.getTag(SubstituteTag)) { + globalScene.triggerPokemonBattleAnim( + this, + PokemonAnimType.SUBSTITUTE_ADD, + ); + this.getTag(SubstituteTag)!.sourceInFocus = false; + } + + // If this Pokemon has Commander and Dondozo as an active ally, hide this Pokemon's sprite. + if ( + this.hasAbilityWithAttr(CommanderAbAttr) && + globalScene.currentBattle.double && + this.getAlly()?.species.speciesId === Species.DONDOZO + ) { + this.setVisible(false); + } + this.summonData.illusion = illusion + this.updateInfo(); + } + + /** + * Reset a {@linkcode Pokemon}'s per-battle {@linkcode PokemonBattleData | battleData}, + * as well as any transient {@linkcode PokemonWaveData | waveData} for the current wave. + * Should be called once per arena transition (new biome/trainer battle/Mystery Encounter). + */ + resetBattleAndWaveData(): void { + this.battleData = new PokemonBattleData(); + this.resetWaveData(); + } + + /** + * Reset a {@linkcode Pokemon}'s {@linkcode PokemonWaveData | waveData}. + * Should be called upon starting a new wave in addition to whenever an arena transition occurs. + * @see {@linkcode resetBattleAndWaveData()} + */ + resetWaveData(): void { + this.waveData = new PokemonWaveData(); } resetTera(): void { @@ -5816,10 +5869,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { .filter(s => !!s) .map(s => { s.pipelineData[ - `spriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `spriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = []; s.pipelineData[ - `fusionSpriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `fusionSpriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = []; }); return; @@ -6176,10 +6229,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { .filter(s => !!s) .map(s => { s.pipelineData[ - `spriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `spriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = spriteColors; s.pipelineData[ - `fusionSpriteColors${ignoreOveride && this.summonData?.speciesForm ? "Base" : ""}` + `fusionSpriteColors${ignoreOveride && this.summonData.speciesForm ? "Base" : ""}` ] = fusionSpriteColors; }); @@ -6232,7 +6285,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (clearEffects) { this.destroySubstitute(); - this.resetSummonData(); // this also calls `resetBattleSummonData` + this.resetSummonData(); } if (hideInfo) { this.hideInfo(); @@ -6302,7 +6355,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { heldItem: PokemonHeldItemModifier, forBattle = true, ): boolean { - if (heldItem.pokemonId === -1 || heldItem.pokemonId === this.id) { + if (heldItem.pokemonId !== -1 && heldItem.pokemonId !== this.id) { + return false; + } + heldItem.stackCount--; if (heldItem.stackCount <= 0) { globalScene.removeModifier(heldItem, !this.isPlayer()); @@ -6310,10 +6366,23 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (forBattle) { applyPostItemLostAbAttrs(PostItemLostAbAttr, this, false); } + return true; - } else { - return false; + } + + /** + * Record a berry being eaten for ability and move triggers. + * Only tracks things that proc _every_ time a berry is eaten. + * @param berryType The type of berry being eaten. + * @param updateHarvest Whether to track the berry for harvest; default `true`. + */ + public recordEatenBerry(berryType: BerryType, updateHarvest: boolean = true) { + this.battleData.hasEatenBerry = true; + if (updateHarvest) { + // Only track for harvest if we actually consumed the berry + this.battleData.berriesEaten.push(berryType) } + this.turnData.berriesEaten.push(berryType); } } @@ -6882,6 +6951,8 @@ export class PlayerPokemon extends Pokemon { if (partyMemberIndex > fusedPartyMemberIndex) { partyMemberIndex--; } + + // combine the two mons' held items const fusedPartyMemberHeldModifiers = globalScene.findModifiers( m => m instanceof PokemonHeldItemModifier && m.pokemonId === pokemon.id, true, @@ -7195,9 +7266,9 @@ export class EnemyPokemon extends Pokemon { p.getAttackDamage({ source: this, move, - ignoreAbility: !p.battleData.abilityRevealed, + ignoreAbility: !p.waveData.abilityRevealed, ignoreSourceAbility: false, - ignoreAllyAbility: !p.getAlly()?.battleData.abilityRevealed, + ignoreAllyAbility: !p.getAlly()?.waveData.abilityRevealed, ignoreSourceAllyAbility: false, isCritical, } @@ -7259,11 +7330,18 @@ export class EnemyPokemon extends Pokemon { ) { targetScore = -20; } else if (move instanceof AttackMove) { - /** - * Attack moves are given extra multipliers to their base benefit score based on - * the move's type effectiveness against the target and whether the move is a STAB move. - */ - const effectiveness = target.getMoveEffectiveness(this, move, !target.battleData?.abilityRevealed, undefined, undefined, true); + /** + * Attack moves are given extra multipliers to their base benefit score based on + * the move's type effectiveness against the target and whether the move is a STAB move. + */ + const effectiveness = target.getMoveEffectiveness( + this, + move, + !target.waveData.abilityRevealed, + undefined, + undefined, + true); + if (target.isPlayer() !== this.isPlayer()) { targetScore *= effectiveness; if (this.isOfType(move.type)) { @@ -7706,53 +7784,131 @@ export interface AttackMoveResult { sourceBattlerIndex: BattlerIndex; } +/** + * Persistent in-battle data for a {@linkcode Pokemon}. + * Resets on switch or new battle. + */ export class PokemonSummonData { /** [Atk, Def, SpAtk, SpDef, Spd, Acc, Eva] */ public statStages: number[] = [0, 0, 0, 0, 0, 0, 0]; public moveQueue: TurnMove[] = []; public tags: BattlerTag[] = []; public abilitySuppressed = false; - public abilitiesApplied: Abilities[] = []; - public speciesForm: PokemonSpeciesForm | null; - public fusionSpeciesForm: PokemonSpeciesForm; - public ability: Abilities = Abilities.NONE; - public passiveAbility: Abilities = Abilities.NONE; - public gender: Gender; - public fusionGender: Gender; + + // Overrides for transform. + // TODO: Move these into a separate class & add rage fist hit count + public speciesForm: PokemonSpeciesForm | null = null; + public fusionSpeciesForm: PokemonSpeciesForm | null = null; + public ability: Abilities | undefined; + public passiveAbility: Abilities | undefined; + public gender: Gender | undefined; + public fusionGender: Gender | undefined; public stats: number[] = [0, 0, 0, 0, 0, 0]; - public moveset: PokemonMove[]; - public illusionBroken: boolean = false; + public moveset: PokemonMove[] | null; // If not initialized this value will not be populated from save data. public types: PokemonType[] = []; public addedType: PokemonType | null = null; + + /** Data pertaining to this pokemon's illusion. */ public illusion: IllusionData | null = null; -} + public illusionBroken: boolean = false; -export class PokemonBattleData { - /** counts the hits the pokemon received */ - public hitCount = 0; - /** used for {@linkcode Moves.RAGE_FIST} in order to save hit Counts received before Rage Fist is applied */ - public prevHitCount = 0; - public endured = false; - public berriesEaten: BerryType[] = []; - public abilitiesApplied: Abilities[] = []; - public abilityRevealed: boolean = false; -} + /** Array containing all berries eaten in the last turn; used by {@linkcode Abilities.CUD_CHEW} */ + public berriesEatenLast: BerryType[] = []; -export class PokemonBattleSummonData { - /** The number of turns the pokemon has passed since entering the battle */ - public turnCount = 1; - /** The number of turns the pokemon has passed since the start of the wave */ - public waveTurnCount = 1; - /** The list of moves the pokemon has used since entering the battle */ + /** + * An array of all moves this pokemon has used since entering the battle. + * Used for most moves and abilities that check prior move usage or copy already-used moves. + */ public moveHistory: TurnMove[] = []; + + constructor(source?: PokemonSummonData | Partial) { + if (isNullOrUndefined(source)) { + return; + } + + // TODO: Rework this into an actual generic function for use elsewhere + for (const [key, value] of Object.entries(source)) { + if (isNullOrUndefined(value) && this.hasOwnProperty(key)) { + continue; + } + + if (key === "tags") { + // load battler tags + this.tags = value.map((t: BattlerTag) => loadBattlerTag(t)); + continue; + } + this[key] = value; + } + } } + // TODO: Merge this inside `summmonData` but exclude from save if/when a save data serializer is added +export class PokemonTempSummonData { + /** + * The number of turns this pokemon has spent without switching out. + * Only currently used for positioning the battle cursor. + */ + turnCount: number = 1; + + /** + * The number of turns this pokemon has spent in the active position since the start of the wave + * without switching out. + * Reset on switch and new wave, but not stored in `SummonData` to avoid being written to the save file. + + * Used to evaluate "first turn only" conditions such as + * {@linkcode Moves.FAKE_OUT | Fake Out} and {@linkcode Moves.FIRST_IMPRESSION | First Impression}). + */ + waveTurnCount = 1; + +} + +/** + * Persistent data for a {@linkcode Pokemon}. + * Resets at the start of a new battle (but not on switch). + */ +export class PokemonBattleData { + /** Counter tracking direct hits this Pokemon has received during this battle; used for {@linkcode Moves.RAGE_FIST} */ + public hitCount = 0; + /** Whether this Pokemon has eaten a berry this battle; used for {@linkcode Moves.BELCH} */ + public hasEatenBerry: boolean = false; + /** Array containing all berries eaten and not yet recovered during this current battle; used by {@linkcode Abilities.HARVEST} */ + public berriesEaten: BerryType[] = []; + + constructor(source?: PokemonBattleData | Partial) { + if (!isNullOrUndefined(source)) { + this.hitCount = source.hitCount ?? 0; + this.hasEatenBerry = source.hasEatenBerry ?? false; + this.berriesEaten = source.berriesEaten ?? []; + } + } +} + +/** + * Temporary data for a {@linkcode Pokemon}. + * Resets on new wave/battle start (but not on switch). + */ +export class PokemonWaveData { + /** Whether the pokemon has endured due to a {@linkcode BattlerTagType.ENDURE_TOKEN} */ + public endured = false; + /** + * A set of all the abilities this {@linkcode Pokemon} has used in this wave. + * Used to track once per battle conditions, as well as (hopefully) by the updated AI for move effectiveness. + */ + public abilitiesApplied: Set = new Set; + /** Whether the pokemon's ability has been revealed or not */ + public abilityRevealed = false; +} + +/** + * Temporary data for a {@linkcode Pokemon}. + * Resets at the start of a new turn, as well as on switch. + */ export class PokemonTurnData { public flinched = false; public acted = false; - /** How many times the move should hit the target(s) */ + /** How many times the current move should hit the target(s) */ public hitCount = 0; /** * - `-1` = Calculate how many hits are left @@ -7776,6 +7932,12 @@ export class PokemonTurnData { * forced to act again in the same turn */ public extraTurns = 0; + /** + * All berries eaten by this pokemon in this turn. + * Saved into {@linkcode PokemonSummonData | SummonData} by {@linkcode Abilities.CUD_CHEW} on turn end. + * @see {@linkcode PokemonSummonData.berriesEatenLast} + */ + public berriesEaten: BerryType[] = [] } export enum AiType { @@ -7813,8 +7975,8 @@ export type DamageResult = | HitResult.SUPER_EFFECTIVE | HitResult.NOT_VERY_EFFECTIVE | HitResult.ONE_HIT_KO - | HitResult.CONFUSION - | HitResult.INDIRECT_KO + | HitResult.CONFUSION + | HitResult.INDIRECT_KO | HitResult.INDIRECT; /** Interface containing the results of a damage calculation for a given move */ @@ -7831,8 +7993,8 @@ export interface DamageCalculationResult { * Wrapper class for the {@linkcode Move} class for Pokemon to interact with. * These are the moves assigned to a {@linkcode Pokemon} object. * It links to {@linkcode Move} class via the move ID. - * Compared to {@linkcode Move}, this class also tracks if a move has received. - * PP Ups, amount of PP used, and things like that. + * Compared to {@linkcode Move}, this class also tracks things like + * PP Ups recieved, 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. @@ -7903,9 +8065,9 @@ export class PokemonMove { /** * Sets {@link ppUsed} for this move and ensures the value does not exceed {@link getMovePp} - * @param {number} count Amount of PP to use + * @param count Amount of PP to use */ - usePp(count = 1) { + usePp(count: number = 1) { this.ppUsed = Math.min(this.ppUsed + count, this.getMovePp()); } @@ -7925,9 +8087,9 @@ export class PokemonMove { } /** - * Copies an existing move or creates a valid PokemonMove object from json representing one - * @param {PokemonMove | any} source The data for the move to copy - * @return {PokemonMove} A valid pokemonmove object + * Copies an existing move or creates a valid {@linkcode PokemonMove} object from json representing one + * @param source The data for the move to copy; can be a {@linkcode PokemonMove} or JSON object representing one + * @returns A valid {@linkcode PokemonMove} object */ static loadMove(source: PokemonMove | any): PokemonMove { return new PokemonMove( diff --git a/src/inputs-controller.ts b/src/inputs-controller.ts index 7fde0f2aca8..02a95f71ac4 100644 --- a/src/inputs-controller.ts +++ b/src/inputs-controller.ts @@ -1,5 +1,6 @@ import Phaser from "phaser"; -import { deepCopy, getEnumValues } from "#app/utils/common"; +import { getEnumValues } from "#app/utils/common"; +import { deepCopy } from "#app/utils/data"; import pad_generic from "./configs/inputs/pad_generic"; import pad_unlicensedSNES from "./configs/inputs/pad_unlicensedSNES"; import pad_xbox360 from "./configs/inputs/pad_xbox360"; diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 219a6b6344b..8bd2dc8948a 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -128,6 +128,7 @@ import { getStatKey, Stat, TEMP_BATTLE_STATS } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import i18next from "i18next"; import { timedEventManager } from "#app/global-event-manager"; +import { TYPE_BOOST_ITEM_BOOST_PERCENT } from "#app/constants"; const outputModifierData = false; const useMaxWeightForOutput = false; @@ -789,6 +790,7 @@ export class BerryModifierType extends PokemonHeldItemModifierType implements Ge ); this.berryType = berryType; + this.id = "BERRY"; // needed to prevent harvest item deletion; remove after modifier rework } get name(): string { @@ -1329,7 +1331,7 @@ class AttackTypeBoosterModifierTypeGenerator extends ModifierTypeGenerator { constructor() { super((party: Pokemon[], pregenArgs?: any[]) => { if (pregenArgs && pregenArgs.length === 1 && pregenArgs[0] in PokemonType) { - return new AttackTypeBoosterModifierType(pregenArgs[0] as PokemonType, 20); + return new AttackTypeBoosterModifierType(pregenArgs[0] as PokemonType, TYPE_BOOST_ITEM_BOOST_PERCENT); } const attackMoveTypes = party.flatMap(p => @@ -1377,7 +1379,7 @@ class AttackTypeBoosterModifierTypeGenerator extends ModifierTypeGenerator { weight += typeWeight; } - return new AttackTypeBoosterModifierType(type!, 20); + return new AttackTypeBoosterModifierType(type!, TYPE_BOOST_ITEM_BOOST_PERCENT); }); } } diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 7ba5f204db3..9df7aa7813f 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -47,7 +47,12 @@ import { } from "./modifier-type"; import { Color, ShadowColor } from "#enums/color"; import { FRIENDSHIP_GAIN_FROM_RARE_CANDY } from "#app/data/balance/starters"; -import { applyAbAttrs, CommanderAbAttr } from "#app/data/abilities/ability"; +import { + applyAbAttrs, + applyPostItemLostAbAttrs, + CommanderAbAttr, + PostItemLostAbAttr, +} from "#app/data/abilities/ability"; import { globalScene } from "#app/global-scene"; export type ModifierPredicate = (modifier: Modifier) => boolean; @@ -232,6 +237,10 @@ export abstract class PersistentModifier extends Modifier { abstract getMaxStackCount(forThreshold?: boolean): number; + getCountUnderMax(): number { + return this.getMaxStackCount() - this.getStackCount(); + } + isIconVisible(): boolean { return true; } @@ -653,7 +662,9 @@ export class TerastallizeAccessModifier extends PersistentModifier { } export abstract class PokemonHeldItemModifier extends PersistentModifier { + /** The ID of the {@linkcode Pokemon} that this item belongs to. */ public pokemonId: number; + /** Whether this item can be transfered to or stolen by another Pokemon. */ public isTransferable = true; constructor(type: ModifierType, pokemonId: number, stackCount?: number) { @@ -1479,7 +1490,8 @@ export class AttackTypeBoosterModifier extends PokemonHeldItemModifier { return ( super.shouldApply(pokemon, moveType, movePower) && typeof moveType === "number" && - movePower instanceof NumberHolder + movePower instanceof NumberHolder && + this.moveType === moveType ); } @@ -1638,14 +1650,15 @@ export class FlinchChanceModifier extends PokemonHeldItemModifier { } /** - * Applies {@linkcode FlinchChanceModifier} - * @param pokemon the {@linkcode Pokemon} that holds the item - * @param flinched {@linkcode BooleanHolder} that is `true` if the pokemon flinched - * @returns `true` if {@linkcode FlinchChanceModifier} has been applied + * Applies {@linkcode FlinchChanceModifier} to randomly flinch targets hit. + * @param pokemon - The {@linkcode Pokemon} that holds the item + * @param flinched - A {@linkcode BooleanHolder} holding whether the pokemon has flinched + * @returns `true` if {@linkcode FlinchChanceModifier} was applied successfully */ override apply(pokemon: Pokemon, flinched: BooleanHolder): boolean { - // The check for pokemon.battleSummonData is to ensure that a crash doesn't occur when a Pokemon with King's Rock procs a flinch - if (pokemon.battleSummonData && !flinched.value && pokemon.randSeedInt(100) < this.getStackCount() * this.chance) { + // The check for pokemon.summonData is to ensure that a crash doesn't occur when a Pokemon with King's Rock procs a flinch + // TODO: Since summonData is always defined now, we can probably remove this + if (pokemon.summonData && !flinched.value && pokemon.randSeedInt(100) < this.getStackCount() * this.chance) { flinched.value = true; return true; } @@ -1771,6 +1784,7 @@ export class HitHealModifier extends PokemonHeldItemModifier { */ override apply(pokemon: Pokemon): boolean { if (pokemon.turnData.totalDamageDealt && !pokemon.isFullHp()) { + // TODO: this shouldn't be undefined AFAIK globalScene.unshiftPhase( new PokemonHealPhase( pokemon.getBattlerIndex(), @@ -1866,11 +1880,15 @@ export class BerryModifier extends PokemonHeldItemModifier { override apply(pokemon: Pokemon): boolean { const preserve = new BooleanHolder(false); globalScene.applyModifiers(PreserveBerryModifier, pokemon.isPlayer(), pokemon, preserve); + this.consumed = !preserve.value; + // munch the berry and trigger unburden-like effects getBerryEffectFunc(this.berryType)(pokemon); - if (!preserve.value) { - this.consumed = true; - } + applyPostItemLostAbAttrs(PostItemLostAbAttr, pokemon, false); + + // Update berry eaten trackers for Belch, Harvest, Cud Chew, etc. + // Don't recover it if we proc berry pouch (no item duplication) + pokemon.recordEatenBerry(this.berryType, this.consumed); return true; } @@ -1909,9 +1927,7 @@ export class PreserveBerryModifier extends PersistentModifier { * @returns always `true` */ override apply(pokemon: Pokemon, doPreserve: BooleanHolder): boolean { - if (!doPreserve.value) { - doPreserve.value = pokemon.randSeedInt(10) < this.getStackCount() * 3; - } + doPreserve.value ||= pokemon.randSeedInt(10) < this.getStackCount() * 3; return true; } @@ -1952,7 +1968,7 @@ export class PokemonInstantReviveModifier extends PokemonHeldItemModifier { ); // Remove the Pokemon's FAINT status - pokemon.resetStatus(true, false, true); + pokemon.resetStatus(true, false, true, false); // Reapply Commander on the Pokemon's side of the field, if applicable const field = pokemon.isPlayer() ? globalScene.getPlayerField() : globalScene.getEnemyField(); @@ -2160,7 +2176,7 @@ export class PokemonHpRestoreModifier extends ConsumablePokemonModifier { restorePoints = Math.floor(restorePoints * multiplier); } if (this.fainted || this.healStatus) { - pokemon.resetStatus(true, true); + pokemon.resetStatus(true, true, false, false); } pokemon.hp = Math.min( pokemon.hp + @@ -2180,7 +2196,7 @@ export class PokemonStatusHealModifier extends ConsumablePokemonModifier { * @returns always `true` */ override apply(playerPokemon: PlayerPokemon): boolean { - playerPokemon.resetStatus(true, true); + playerPokemon.resetStatus(true, true, false, false); return true; } } @@ -3608,7 +3624,7 @@ export class EnemyAttackStatusEffectChanceModifier extends EnemyPersistentModifi super(type, stackCount); this.effect = effect; - //Hardcode temporarily + // Hardcode temporarily this.chance = 0.025 * (this.effect === StatusEffect.BURN || this.effect === StatusEffect.POISON ? 2 : 1); } @@ -3715,13 +3731,13 @@ export class EnemyEndureChanceModifier extends EnemyPersistentModifier { * @returns `true` if {@linkcode Pokemon} endured */ override apply(target: Pokemon): boolean { - if (target.battleData.endured || target.randSeedInt(100) >= this.chance * this.getStackCount()) { + if (target.waveData.endured || target.randSeedInt(100) >= this.chance * this.getStackCount()) { return false; } target.addTag(BattlerTagType.ENDURE_TOKEN, 1); - target.battleData.endured = true; + target.waveData.endured = true; return true; } diff --git a/src/overrides.ts b/src/overrides.ts index 7e6a46f2f85..5bbd29b355f 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -104,8 +104,16 @@ class DefaultOverrides { readonly BYPASS_TUTORIAL_SKIP_OVERRIDE: boolean = false; /** Set to `true` to be able to re-earn already unlocked achievements */ readonly ACHIEVEMENTS_REUNLOCK_OVERRIDE: boolean = false; - /** Set to `true` to force Paralysis and Freeze to always activate, or `false` to force them to not activate */ + /** + * Set to `true` to force Paralysis and Freeze to always activate, + * or `false` to force them to not activate (or clear for freeze). + */ readonly STATUS_ACTIVATION_OVERRIDE: boolean | null = null; + /** + * Set to `true` to force confusion to always trigger, + * or `false` to force it to never trigger. + */ + readonly CONFUSION_ACTIVATION_OVERRIDE: boolean | null = null; // ---------------- // PLAYER OVERRIDES diff --git a/src/phases/battle-end-phase.ts b/src/phases/battle-end-phase.ts index 275a9017dfa..b4bb28fe55e 100644 --- a/src/phases/battle-end-phase.ts +++ b/src/phases/battle-end-phase.ts @@ -59,8 +59,8 @@ export class BattleEndPhase extends BattlePhase { } for (const pokemon of globalScene.getField()) { - if (pokemon?.battleSummonData) { - pokemon.battleSummonData.waveTurnCount = 1; + if (pokemon) { + pokemon.tempSummonData.waveTurnCount = 1; } } diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index b20b1736d4f..b027469ea5e 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -1,4 +1,9 @@ -import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/abilities/ability"; +import { + applyAbAttrs, + PreventBerryUseAbAttr, + HealFromBerryUseAbAttr, + RepeatBerryNextTurnAbAttr, +} from "#app/data/abilities/ability"; import { CommonAnim } from "#app/data/battle-anims"; import { BerryUsedEvent } from "#app/events/battle-scene"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -8,47 +13,65 @@ import { BooleanHolder } from "#app/utils/common"; import { FieldPhase } from "./field-phase"; import { CommonAnimPhase } from "./common-anim-phase"; import { globalScene } from "#app/global-scene"; +import type Pokemon from "#app/field/pokemon"; -/** The phase after attacks where the pokemon eat berries */ +/** + * The phase after attacks where the pokemon eat berries. + * Also triggers Cud Chew's "repeat berry use" effects + */ export class BerryPhase extends FieldPhase { start() { super.start(); this.executeForAll(pokemon => { - const hasUsableBerry = !!globalScene.findModifier(m => { - return m instanceof BerryModifier && m.shouldApply(pokemon); - }, pokemon.isPlayer()); - - if (hasUsableBerry) { - const cancelled = new BooleanHolder(false); - pokemon.getOpponents().map(opp => applyAbAttrs(PreventBerryUseAbAttr, opp, cancelled)); - - if (cancelled.value) { - globalScene.queueMessage( - i18next.t("abilityTriggers:preventBerryUse", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); - } else { - globalScene.unshiftPhase( - new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.USE_ITEM), - ); - - for (const berryModifier of globalScene.applyModifiers(BerryModifier, pokemon.isPlayer(), pokemon)) { - if (berryModifier.consumed) { - berryModifier.consumed = false; - pokemon.loseHeldItem(berryModifier); - } - globalScene.eventTarget.dispatchEvent(new BerryUsedEvent(berryModifier)); // Announce a berry was used - } - - globalScene.updateModifiers(pokemon.isPlayer()); - - applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); - } - } + this.eatBerries(pokemon); + applyAbAttrs(RepeatBerryNextTurnAbAttr, pokemon, null); }); this.end(); } + + /** + * Attempt to eat all of a given {@linkcode Pokemon}'s berries once. + * @param pokemon - The {@linkcode Pokemon} to check + */ + eatBerries(pokemon: Pokemon): void { + const hasUsableBerry = !!globalScene.findModifier( + m => m instanceof BerryModifier && m.shouldApply(pokemon), + pokemon.isPlayer(), + ); + + if (!hasUsableBerry) { + return; + } + + // TODO: If both opponents on field have unnerve, which one displays its message? + const cancelled = new BooleanHolder(false); + pokemon.getOpponents().forEach(opp => applyAbAttrs(PreventBerryUseAbAttr, opp, cancelled)); + if (cancelled.value) { + globalScene.queueMessage( + i18next.t("abilityTriggers:preventBerryUse", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + return; + } + + globalScene.unshiftPhase( + new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.USE_ITEM), + ); + + for (const berryModifier of globalScene.applyModifiers(BerryModifier, pokemon.isPlayer(), pokemon)) { + // No need to track berries being eaten; already done inside applyModifiers + if (berryModifier.consumed) { + berryModifier.consumed = false; + pokemon.loseHeldItem(berryModifier); + } + globalScene.eventTarget.dispatchEvent(new BerryUsedEvent(berryModifier)); + } + globalScene.updateModifiers(pokemon.isPlayer()); + + // Abilities.CHEEK_POUCH only works once per round of nom noms + applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); + } } diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 20ed69119f9..5b799bd9316 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -113,12 +113,6 @@ export class EncounterPhase extends BattlePhase { } if (!this.loaded) { if (battle.battleType === BattleType.TRAINER) { - //resets hitRecCount during Trainer ecnounter - for (const pokemon of globalScene.getPlayerParty()) { - if (pokemon) { - pokemon.customPokemonData.resetHitReceivedCount(); - } - } battle.enemyParty[e] = battle.trainer?.genPartyMember(e)!; // TODO:: is the bang correct here? } else { let enemySpecies = globalScene.randomSpecies(battle.waveIndex, level, true); @@ -140,7 +134,6 @@ export class EncounterPhase extends BattlePhase { if (globalScene.currentBattle.battleSpec === BattleSpec.FINAL_BOSS) { battle.enemyParty[e].ivs = new Array(6).fill(31); } - // biome-ignore lint/complexity/noForEach: Improves readability globalScene .getPlayerParty() .slice(0, !battle.double ? 1 : 2) @@ -195,7 +188,7 @@ export class EncounterPhase extends BattlePhase { ]; const moveset: string[] = []; for (const move of enemyPokemon.getMoveset()) { - moveset.push(move!.getName()); // TODO: remove `!` after moveset-null removal PR + moveset.push(move.getName()); } console.log( @@ -288,6 +281,7 @@ export class EncounterPhase extends BattlePhase { }); if (!this.loaded && battle.battleType !== BattleType.MYSTERY_ENCOUNTER) { + // generate modifiers for MEs, overriding prior ones as applicable regenerateModifierPoolThresholds( globalScene.getEnemyField(), battle.battleType === BattleType.TRAINER ? ModifierPoolType.TRAINER : ModifierPoolType.WILD, @@ -300,8 +294,8 @@ export class EncounterPhase extends BattlePhase { } } - if (battle.battleType === BattleType.TRAINER) { - globalScene.currentBattle.trainer!.genAI(globalScene.getEnemyParty()); + if (battle.battleType === BattleType.TRAINER && globalScene.currentBattle.trainer) { + globalScene.currentBattle.trainer.genAI(globalScene.getEnemyParty()); } globalScene.ui.setMode(UiMode.MESSAGE).then(() => { @@ -342,8 +336,10 @@ export class EncounterPhase extends BattlePhase { } for (const pokemon of globalScene.getPlayerParty()) { + // Currently, a new wave is not considered a new battle if there is no arena reset + // Therefore, we only reset wave data here if (pokemon) { - pokemon.resetBattleData(); + pokemon.resetWaveData(); } } @@ -558,7 +554,7 @@ export class EncounterPhase extends BattlePhase { if (enemyPokemon.isShiny(true)) { globalScene.unshiftPhase(new ShinySparklePhase(BattlerIndex.ENEMY + e)); } - /** This sets Eternatus' held item to be untransferrable, preventing it from being stolen */ + /** This sets Eternatus' held item to be untransferrable, preventing it from being stolen */ if ( enemyPokemon.species.speciesId === Species.ETERNATUS && (globalScene.gameMode.isBattleClassicFinalBoss(globalScene.currentBattle.waveIndex) || diff --git a/src/phases/evolution-phase.ts b/src/phases/evolution-phase.ts index 7b013555f40..8fc8a8be031 100644 --- a/src/phases/evolution-phase.ts +++ b/src/phases/evolution-phase.ts @@ -146,7 +146,7 @@ export class EvolutionPhase extends Phase { sprite.setPipelineData("shiny", this.pokemon.shiny); sprite.setPipelineData("variant", this.pokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (this.pokemon.summonData?.speciesForm) { + if (this.pokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = this.pokemon.getSprite().pipelineData[k]; @@ -178,7 +178,7 @@ export class EvolutionPhase extends Phase { sprite.setPipelineData("shiny", evolvedPokemon.shiny); sprite.setPipelineData("variant", evolvedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (evolvedPokemon.summonData?.speciesForm) { + if (evolvedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = evolvedPokemon.getSprite().pipelineData[k]; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 4c99a609b11..1aa24d59fa0 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -118,7 +118,7 @@ export class FaintPhase extends PokemonPhase { pokemon.resetTera(); - if (pokemon.turnData?.attacksReceived?.length) { + if (pokemon.turnData.attacksReceived?.length) { const lastAttack = pokemon.turnData.attacksReceived[0]; applyPostFaintAbAttrs( PostFaintAbAttr, @@ -136,7 +136,7 @@ export class FaintPhase extends PokemonPhase { for (const p of alivePlayField) { applyPostKnockOutAbAttrs(PostKnockOutAbAttr, p, pokemon); } - if (pokemon.turnData?.attacksReceived?.length) { + if (pokemon.turnData.attacksReceived?.length) { const defeatSource = this.source; if (defeatSource?.isOnField()) { diff --git a/src/phases/field-phase.ts b/src/phases/field-phase.ts index 98c1ced510f..c37f0e960e7 100644 --- a/src/phases/field-phase.ts +++ b/src/phases/field-phase.ts @@ -6,8 +6,7 @@ type PokemonFunc = (pokemon: Pokemon) => void; export abstract class FieldPhase extends BattlePhase { executeForAll(func: PokemonFunc): void { - const field = globalScene.getField(true).filter(p => p.summonData); - for (const pokemon of field) { + for (const pokemon of globalScene.getField(true)) { func(pokemon); } } diff --git a/src/phases/form-change-phase.ts b/src/phases/form-change-phase.ts index ac7edadf244..5517fb0f402 100644 --- a/src/phases/form-change-phase.ts +++ b/src/phases/form-change-phase.ts @@ -51,7 +51,7 @@ export class FormChangePhase extends EvolutionPhase { sprite.setPipelineData("shiny", transformedPokemon.shiny); sprite.setPipelineData("variant", transformedPokemon.variant); ["spriteColors", "fusionSpriteColors"].map(k => { - if (transformedPokemon.summonData?.speciesForm) { + if (transformedPokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = transformedPokemon.getSprite().pipelineData[k]; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 4b4e62db71b..64cae923f07 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -277,9 +277,6 @@ export class MoveEffectPhase extends PokemonPhase { super.end(); return; } - if (isNullOrUndefined(user.turnData)) { - user.resetTurnData(); - } } /** diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index b24d7b61ebb..e704b040d20 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -618,7 +618,7 @@ export class MovePhase extends BattlePhase { globalScene.eventTarget.dispatchEvent(new MoveUsedEvent(this.pokemon?.id, this.move.getMove(), ppUsed)); } - if (this.cancelled && this.pokemon.summonData?.tags?.find(t => t.tagType === BattlerTagType.FRENZY)) { + if (this.cancelled && this.pokemon.summonData.tags?.find(t => t.tagType === BattlerTagType.FRENZY)) { frenzyMissFunc(this.pokemon, this.move.getMove()); } diff --git a/src/phases/mystery-encounter-phases.ts b/src/phases/mystery-encounter-phases.ts index 011dd26db92..fd0c4ef7949 100644 --- a/src/phases/mystery-encounter-phases.ts +++ b/src/phases/mystery-encounter-phases.ts @@ -229,8 +229,7 @@ export class MysteryEncounterBattleStartCleanupPhase extends Phase { // Lapse any residual flinches/endures but ignore all other turn-end battle tags const includedLapseTags = [BattlerTagType.FLINCHED, BattlerTagType.ENDURING]; - const field = globalScene.getField(true).filter(p => p.summonData); - field.forEach(pokemon => { + globalScene.getField(true).forEach(pokemon => { const tags = pokemon.summonData.tags; tags .filter( diff --git a/src/phases/new-biome-encounter-phase.ts b/src/phases/new-biome-encounter-phase.ts index 6a7afcb8da8..ef027bfd77a 100644 --- a/src/phases/new-biome-encounter-phase.ts +++ b/src/phases/new-biome-encounter-phase.ts @@ -7,17 +7,17 @@ export class NewBiomeEncounterPhase extends NextEncounterPhase { doEncounter(): void { globalScene.playBgm(undefined, true); + // Reset all battle and wave data, perform form changes, etc. + // We do this because new biomes are considered "arena transitions" akin to MEs and trainer battles for (const pokemon of globalScene.getPlayerParty()) { if (pokemon) { - pokemon.resetBattleData(); - pokemon.customPokemonData.resetHitReceivedCount(); + pokemon.resetBattleAndWaveData(); + if (pokemon.isOnField()) { + applyAbAttrs(PostBiomeChangeAbAttr, pokemon, null); + } } } - for (const pokemon of globalScene.getPlayerParty().filter(p => p.isOnField())) { - applyAbAttrs(PostBiomeChangeAbAttr, pokemon, null); - } - const enemyField = globalScene.getEnemyField(); const moveTargets: any[] = [globalScene.arenaEnemy, enemyField]; const mysteryEncounter = globalScene.currentBattle?.mysteryEncounter?.introVisuals; diff --git a/src/phases/next-encounter-phase.ts b/src/phases/next-encounter-phase.ts index e5e61312c3b..30b4004363c 100644 --- a/src/phases/next-encounter-phase.ts +++ b/src/phases/next-encounter-phase.ts @@ -1,6 +1,10 @@ import { globalScene } from "#app/global-scene"; import { EncounterPhase } from "./encounter-phase"; +/** + * The phase between defeating an encounter and starting another wild wave. + * Handles generating, loading and preparing for it. + */ export class NextEncounterPhase extends EncounterPhase { start() { super.start(); @@ -9,9 +13,12 @@ export class NextEncounterPhase extends EncounterPhase { doEncounter(): void { globalScene.playBgm(undefined, true); + // Reset all player transient wave data/intel before starting a new wild encounter. + // We exclusively reset wave data here as wild waves are considered one continuous "battle" + // for lack of an arena transition. for (const pokemon of globalScene.getPlayerParty()) { if (pokemon) { - pokemon.resetBattleData(); + pokemon.resetWaveData(); } } diff --git a/src/phases/party-heal-phase.ts b/src/phases/party-heal-phase.ts index a208ccfff92..4a9f8a0c888 100644 --- a/src/phases/party-heal-phase.ts +++ b/src/phases/party-heal-phase.ts @@ -21,7 +21,7 @@ export class PartyHealPhase extends BattlePhase { globalScene.ui.fadeOut(1000).then(() => { for (const pokemon of globalScene.getPlayerParty()) { pokemon.hp = pokemon.getMaxHp(); - pokemon.resetStatus(); + pokemon.resetStatus(true, false, false, true); for (const move of pokemon.moveset) { move.ppUsed = 0; } diff --git a/src/phases/quiet-form-change-phase.ts b/src/phases/quiet-form-change-phase.ts index f476919a628..76411f62f77 100644 --- a/src/phases/quiet-form-change-phase.ts +++ b/src/phases/quiet-form-change-phase.ts @@ -74,7 +74,7 @@ export class QuietFormChangePhase extends BattlePhase { isTerastallized: this.pokemon.isTerastallized, }); ["spriteColors", "fusionSpriteColors"].map(k => { - if (this.pokemon.summonData?.speciesForm) { + if (this.pokemon.summonData.speciesForm) { k += "Base"; } sprite.pipelineData[k] = this.pokemon.getSprite().pipelineData[k]; diff --git a/src/phases/reset-status-phase.ts b/src/phases/reset-status-phase.ts index 0ba3559d9b7..19bfc3027e2 100644 --- a/src/phases/reset-status-phase.ts +++ b/src/phases/reset-status-phase.ts @@ -1,7 +1,5 @@ import type Pokemon from "#app/field/pokemon"; import { BattlePhase } from "#app/phases/battle-phase"; -import { BattlerTagType } from "#enums/battler-tag-type"; -import { StatusEffect } from "#enums/status-effect"; /** * Phase which handles resetting a Pokemon's status to none @@ -22,23 +20,7 @@ export class ResetStatusPhase extends BattlePhase { } public override start() { - const lastStatus = this.pokemon.status?.effect; - this.pokemon.status = null; - if (lastStatus === StatusEffect.SLEEP) { - this.pokemon.setFrameRate(10); - if (this.pokemon.getTag(BattlerTagType.NIGHTMARE)) { - this.pokemon.lapseTag(BattlerTagType.NIGHTMARE); - } - } - if (this.affectConfusion) { - if (this.pokemon.getTag(BattlerTagType.CONFUSED)) { - this.pokemon.lapseTag(BattlerTagType.CONFUSED); - } - } - if (this.reloadAssets) { - this.pokemon.loadAssets(false).then(() => this.pokemon.playAnim()); - } - this.pokemon.updateInfo(true); + this.pokemon.clearStatus(this.affectConfusion, this.reloadAssets); this.end(); } } diff --git a/src/phases/revival-blessing-phase.ts b/src/phases/revival-blessing-phase.ts index 2de1c616f69..598d9109abc 100644 --- a/src/phases/revival-blessing-phase.ts +++ b/src/phases/revival-blessing-phase.ts @@ -32,7 +32,7 @@ export class RevivalBlessingPhase extends BattlePhase { } pokemon.resetTurnData(); - pokemon.resetStatus(); + pokemon.resetStatus(true, false, false, false); pokemon.heal(Math.min(toDmgValue(0.5 * pokemon.getMaxHp()), pokemon.getMaxHp())); globalScene.queueMessage( i18next.t("moveTriggers:revivalBlessing", { diff --git a/src/phases/show-ability-phase.ts b/src/phases/show-ability-phase.ts index 8097af33fe0..d6193ac3946 100644 --- a/src/phases/show-ability-phase.ts +++ b/src/phases/show-ability-phase.ts @@ -50,9 +50,7 @@ export class ShowAbilityPhase extends PokemonPhase { } globalScene.abilityBar.showAbility(this.pokemonName, this.abilityName, this.passive, this.player).then(() => { - if (pokemon?.battleData) { - pokemon.battleData.abilityRevealed = true; - } + pokemon.waveData.abilityRevealed = true; this.end(); }); diff --git a/src/phases/stat-stage-change-phase.ts b/src/phases/stat-stage-change-phase.ts index 9d64a81bbb4..6731e45025c 100644 --- a/src/phases/stat-stage-change-phase.ts +++ b/src/phases/stat-stage-change-phase.ts @@ -217,16 +217,8 @@ export class StatStageChangePhase extends PokemonPhase { for (const s of filteredStats) { if (stages.value > 0 && pokemon.getStatStage(s) < 6) { - if (!pokemon.turnData) { - // Temporary fix for missing turn data struct on turn 1 - pokemon.resetTurnData(); - } pokemon.turnData.statStagesIncreased = true; } else if (stages.value < 0 && pokemon.getStatStage(s) > -6) { - if (!pokemon.turnData) { - // Temporary fix for missing turn data struct on turn 1 - pokemon.resetTurnData(); - } pokemon.turnData.statStagesDecreased = true; } diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index ee27fc28247..fef9b356348 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -177,11 +177,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { } globalScene.currentBattle.seenEnemyPartyMemberIds.add(pokemon.id); } - addPokeballOpenParticles( - pokemon.x, - pokemon.y - 16, - pokemon.getPokeball(true), - ); + addPokeballOpenParticles(pokemon.x, pokemon.y - 16, pokemon.getPokeball(true)); globalScene.updateModifiers(this.player); globalScene.updateFieldScale(); pokemon.showInfo(); @@ -200,9 +196,8 @@ export class SummonPhase extends PartyMemberPokemonPhase { onComplete: () => { pokemon.cry(pokemon.getHpRatio() > 0.25 ? undefined : { rate: 0.85 }); pokemon.getSprite().clearTint(); - pokemon.resetSummonData(); // necessary to stay transformed during wild waves - if (pokemon.summonData?.speciesForm) { + if (pokemon.summonData.speciesForm) { pokemon.loadAssets(false); } globalScene.time.delayedCall(1000, () => this.end()); @@ -266,7 +261,6 @@ export class SummonPhase extends PartyMemberPokemonPhase { onComplete: () => { pokemon.cry(pokemon.getHpRatio() > 0.25 ? undefined : { rate: 0.85 }); pokemon.getSprite().clearTint(); - pokemon.resetSummonData(); globalScene.updateFieldScale(); globalScene.time.delayedCall(1000, () => this.end()); }, diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index f8728f3f9b9..bb31f87cc3d 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -33,10 +33,10 @@ export class SwitchSummonPhase extends SummonPhase { * @param fieldIndex - Position on the battle field * @param slotIndex - The index of pokemon (in party of 6) to switch into * @param doReturn - Whether to render "comeback" dialogue - * @param player - (Optional) `true` if the switch is from the player + * @param player - Whether the switch came from the player or enemy; default `true` */ - constructor(switchType: SwitchType, fieldIndex: number, slotIndex: number, doReturn: boolean, player?: boolean) { - super(fieldIndex, player !== undefined ? player : true); + constructor(switchType: SwitchType, fieldIndex: number, slotIndex: number, doReturn: boolean, player = true) { + super(fieldIndex, player); this.switchType = switchType; this.slotIndex = slotIndex; @@ -67,7 +67,8 @@ export class SwitchSummonPhase extends SummonPhase { !(this.player ? globalScene.getPlayerParty() : globalScene.getEnemyParty())[this.slotIndex]) ) { if (this.player) { - return this.switchAndSummon(); + this.switchAndSummon(); + return; } globalScene.time.delayedCall(750, () => this.switchAndSummon()); return; @@ -120,14 +121,23 @@ export class SwitchSummonPhase extends SummonPhase { switchAndSummon() { const party = this.player ? this.getParty() : globalScene.getEnemyParty(); - const switchedInPokemon = party[this.slotIndex]; + const switchedInPokemon: Pokemon | undefined = party[this.slotIndex]; this.lastPokemon = this.getPokemon(); + applyPreSummonAbAttrs(PreSummonAbAttr, switchedInPokemon); applyPreSwitchOutAbAttrs(PreSwitchOutAbAttr, this.lastPokemon); - if (this.switchType === SwitchType.BATON_PASS && switchedInPokemon) { - (this.player ? globalScene.getEnemyField() : globalScene.getPlayerField()).forEach(enemyPokemon => + if (!switchedInPokemon) { + this.end(); + return; + } + + if (this.switchType === SwitchType.BATON_PASS) { + // If switching via baton pass, update opposing tags coming from the prior pokemon + (this.player ? globalScene.getEnemyField() : globalScene.getPlayerField()).forEach((enemyPokemon: Pokemon) => enemyPokemon.transferTagsBySourceId(this.lastPokemon.id, switchedInPokemon.id), ); + + // If the recipient pokemon lacks a baton, give our baton to it during the swap if ( !globalScene.findModifier( m => @@ -140,14 +150,8 @@ export class SwitchSummonPhase extends SummonPhase { m instanceof SwitchEffectTransferModifier && (m as SwitchEffectTransferModifier).pokemonId === this.lastPokemon.id, ) as SwitchEffectTransferModifier; - if ( - batonPassModifier && - !globalScene.findModifier( - m => - m instanceof SwitchEffectTransferModifier && - (m as SwitchEffectTransferModifier).pokemonId === switchedInPokemon.id, - ) - ) { + + if (batonPassModifier) { globalScene.tryTransferHeldItemModifier( batonPassModifier, switchedInPokemon, @@ -160,49 +164,48 @@ export class SwitchSummonPhase extends SummonPhase { } } } - if (switchedInPokemon) { - party[this.slotIndex] = this.lastPokemon; - party[this.fieldIndex] = switchedInPokemon; - const showTextAndSummon = () => { - globalScene.ui.showText( - this.player - ? i18next.t("battle:playerGo", { - pokemonName: getPokemonNameWithAffix(switchedInPokemon), - }) - : i18next.t("battle:trainerGo", { - trainerName: globalScene.currentBattle.trainer?.getName( - !(this.fieldIndex % 2) ? TrainerSlot.TRAINER : TrainerSlot.TRAINER_PARTNER, - ), - pokemonName: this.getPokemon().getNameToRender(), - }), - ); - /** - * If this switch is passing a Substitute, make the switched Pokemon match the returned Pokemon's state as it left. - * Otherwise, clear any persisting tags on the returned Pokemon. - */ - if (this.switchType === SwitchType.BATON_PASS || this.switchType === SwitchType.SHED_TAIL) { - const substitute = this.lastPokemon.getTag(SubstituteTag); - if (substitute) { - switchedInPokemon.x += this.lastPokemon.getSubstituteOffset()[0]; - switchedInPokemon.y += this.lastPokemon.getSubstituteOffset()[1]; - switchedInPokemon.setAlpha(0.5); - } - } else { - switchedInPokemon.resetSummonData(); + + party[this.slotIndex] = this.lastPokemon; + party[this.fieldIndex] = switchedInPokemon; + const showTextAndSummon = () => { + globalScene.ui.showText( + this.player + ? i18next.t("battle:playerGo", { + pokemonName: getPokemonNameWithAffix(switchedInPokemon), + }) + : i18next.t("battle:trainerGo", { + trainerName: globalScene.currentBattle.trainer?.getName( + !(this.fieldIndex % 2) ? TrainerSlot.TRAINER : TrainerSlot.TRAINER_PARTNER, + ), + pokemonName: this.getPokemon().getNameToRender(), + }), + ); + + /** + * If this switch is passing a Substitute, make the switched Pokemon matches the returned Pokemon's state as it left. + * Otherwise, clear any persisting tags on the returned Pokemon. + */ + if (this.switchType === SwitchType.BATON_PASS || this.switchType === SwitchType.SHED_TAIL) { + const substitute = this.lastPokemon.getTag(SubstituteTag); + if (substitute) { + switchedInPokemon.x += this.lastPokemon.getSubstituteOffset()[0]; + switchedInPokemon.y += this.lastPokemon.getSubstituteOffset()[1]; + switchedInPokemon.setAlpha(0.5); } - this.summon(); - }; - if (this.player) { - showTextAndSummon(); } else { - globalScene.time.delayedCall(1500, () => { - this.hideEnemyTrainer(); - globalScene.pbTrayEnemy.hide(); - showTextAndSummon(); - }); + switchedInPokemon.resetSummonData(); } + this.summon(); + }; + + if (this.player) { + showTextAndSummon(); } else { - this.end(); + globalScene.time.delayedCall(1500, () => { + this.hideEnemyTrainer(); + globalScene.pbTrayEnemy.hide(); + showTextAndSummon(); + }); } } @@ -220,15 +223,15 @@ export class SwitchSummonPhase extends SummonPhase { const lastPokemonHasForceSwitchAbAttr = this.lastPokemon.hasAbilityWithAttr(PostDamageForceSwitchAbAttr) && !this.lastPokemon.isFainted(); - // Compensate for turn spent summoning - // Or compensate for force switch move if switched out pokemon is not fainted + // Compensate for turn spent summoning/forced switch if switched out pokemon is not fainted. + // Needed as we increment turn counters in `TurnEndPhase`. if ( currentCommand === Command.POKEMON || lastPokemonIsForceSwitchedAndNotFainted || lastPokemonHasForceSwitchAbAttr ) { - pokemon.battleSummonData.turnCount--; - pokemon.battleSummonData.waveTurnCount--; + pokemon.tempSummonData.turnCount--; + pokemon.tempSummonData.waveTurnCount--; } if (this.switchType === SwitchType.BATON_PASS && pokemon) { @@ -240,12 +243,13 @@ export class SwitchSummonPhase extends SummonPhase { } } + // Reset turn data if not initial switch (since it gets initialized to an empty object on turn start) if (this.switchType !== SwitchType.INITIAL_SWITCH) { pokemon.resetTurnData(); pokemon.turnData.switchedInThisTurn = true; } - this.lastPokemon?.resetSummonData(); + this.lastPokemon.resetSummonData(); globalScene.triggerPokemonFormChange(pokemon, SpeciesFormChangeActiveTrigger, true); // Reverts to weather-based forms when weather suppressors (Cloud Nine/Air Lock) are switched out diff --git a/src/phases/turn-end-phase.ts b/src/phases/turn-end-phase.ts index fe16a4a864e..756c497802b 100644 --- a/src/phases/turn-end-phase.ts +++ b/src/phases/turn-end-phase.ts @@ -54,11 +54,10 @@ export class TurnEndPhase extends FieldPhase { } globalScene.applyModifiers(TurnStatusEffectModifier, pokemon.isPlayer(), pokemon); - globalScene.applyModifiers(TurnHeldItemTransferModifier, pokemon.isPlayer(), pokemon); - pokemon.battleSummonData.turnCount++; - pokemon.battleSummonData.waveTurnCount++; + pokemon.tempSummonData.turnCount++; + pokemon.tempSummonData.waveTurnCount++; }; this.executeForAll(handlePokemon); diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index 622b9cdcbd1..b802780bbb8 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -72,19 +72,16 @@ export class TurnStartPhase extends FieldPhase { // This occurs before the main loop because of battles with more than two Pokemon const battlerBypassSpeed = {}; - globalScene - .getField(true) - .filter(p => p.summonData) - .map(p => { - const bypassSpeed = new BooleanHolder(false); - const canCheckHeldItems = new BooleanHolder(true); - applyAbAttrs(BypassSpeedChanceAbAttr, p, null, false, bypassSpeed); - applyAbAttrs(PreventBypassSpeedChanceAbAttr, p, null, false, bypassSpeed, canCheckHeldItems); - if (canCheckHeldItems.value) { - globalScene.applyModifiers(BypassSpeedChanceModifier, p.isPlayer(), p, bypassSpeed); - } - battlerBypassSpeed[p.getBattlerIndex()] = bypassSpeed; - }); + globalScene.getField(true).map(p => { + const bypassSpeed = new BooleanHolder(false); + const canCheckHeldItems = new BooleanHolder(true); + applyAbAttrs(BypassSpeedChanceAbAttr, p, null, false, bypassSpeed); + applyAbAttrs(PreventBypassSpeedChanceAbAttr, p, null, false, bypassSpeed, canCheckHeldItems); + if (canCheckHeldItems.value) { + globalScene.applyModifiers(BypassSpeedChanceModifier, p.isPlayer(), p, bypassSpeed); + } + battlerBypassSpeed[p.getBattlerIndex()] = bypassSpeed; + }); // The function begins sorting orderedTargets based on command priority, move priority, and possible speed bypasses. // Non-FIGHT commands (SWITCH, BALL, RUN) have a higher command priority and will always occur before any FIGHT commands. diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 8573c774054..e200fa6b3c7 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -1145,7 +1145,7 @@ export class GameData { ? trainerConfig?.doubleOnly || sessionData.trainer?.variant === TrainerVariant.DOUBLE : sessionData.enemyParty.length > 1, mysteryEncounterType, - )!; // TODO: is this bang correct? + ); battle.enemyLevels = sessionData.enemyParty.map(p => p.level); globalScene.arena.init(); @@ -1198,13 +1198,16 @@ export class GameData { } } + if (globalScene.modifiers.length) { + console.warn("Existing modifiers not cleared on session load, deleting..."); + globalScene.modifiers = []; + } for (const modifierData of sessionData.modifiers) { const modifier = modifierData.toModifier(Modifier[modifierData.className]); if (modifier) { globalScene.addModifier(modifier, true); } } - globalScene.updateModifiers(true); for (const enemyModifierData of sessionData.enemyModifiers) { @@ -1342,68 +1345,67 @@ export class GameData { } parseSessionData(dataStr: string): SessionSaveData { + // TODO: Add `null`/`undefined` to the corresponding type signatures for this + // (or prevent them from being null) + // If the value is able to *not exist*, it should say so in the code const sessionData = JSON.parse(dataStr, (k: string, v: any) => { - if (k === "party" || k === "enemyParty") { - const ret: PokemonData[] = []; - if (v === null) { - v = []; - } - for (const pd of v) { - ret.push(new PokemonData(pd)); - } - return ret; - } - - if (k === "trainer") { - return v ? new TrainerData(v) : null; - } - - if (k === "modifiers" || k === "enemyModifiers") { - const player = k === "modifiers"; - const ret: PersistentModifierData[] = []; - if (v === null) { - v = []; - } - for (const md of v) { - if (md?.className === "ExpBalanceModifier") { - // Temporarily limit EXP Balance until it gets reworked - md.stackCount = Math.min(md.stackCount, 4); + // TODO: Add pre-parse migrate scripts + switch (k) { + case "party": + case "enemyParty": { + const ret: PokemonData[] = []; + for (const pd of v ?? []) { + ret.push(new PokemonData(pd)); } - if ( - (md instanceof Modifier.EnemyAttackStatusEffectChanceModifier && md.effect === StatusEffect.FREEZE) || - md.effect === StatusEffect.SLEEP - ) { - continue; + return ret; + } + + case "trainer": + return v ? new TrainerData(v) : null; + + case "modifiers": + case "enemyModifiers": { + const ret: PersistentModifierData[] = []; + for (const md of v ?? []) { + if (md?.className === "ExpBalanceModifier") { + // Temporarily limit EXP Balance until it gets reworked + md.stackCount = Math.min(md.stackCount, 4); + } + + if ( + md instanceof Modifier.EnemyAttackStatusEffectChanceModifier && + (md.effect === StatusEffect.FREEZE || md.effect === StatusEffect.SLEEP) + ) { + // Discard any old "sleep/freeze chance tokens". + // TODO: make this migrate script + continue; + } + + ret.push(new PersistentModifierData(md, k === "modifiers")); } - ret.push(new PersistentModifierData(md, player)); + return ret; } - return ret; - } - if (k === "arena") { - return new ArenaData(v); - } + case "arena": + return new ArenaData(v); - if (k === "challenges") { - const ret: ChallengeData[] = []; - if (v === null) { - v = []; + case "challenges": { + const ret: ChallengeData[] = []; + for (const c of v ?? []) { + ret.push(new ChallengeData(c)); + } + return ret; } - for (const c of v) { - ret.push(new ChallengeData(c)); - } - return ret; - } - if (k === "mysteryEncounterType") { - return v as MysteryEncounterType; - } + case "mysteryEncounterType": + return v as MysteryEncounterType; - if (k === "mysteryEncounterSaveData") { - return new MysteryEncounterSaveData(v); - } + case "mysteryEncounterSaveData": + return new MysteryEncounterSaveData(v); - return v; + default: + return v; + } }) as SessionSaveData; applySessionVersionMigration(sessionData); @@ -1456,7 +1458,7 @@ export class GameData { encrypt(JSON.stringify(sessionData), bypassLogin), ); - console.debug("Session data saved"); + console.debug("Session data saved!"); if (!bypassLogin && sync) { pokerogueApi.savedata.updateAll(request).then(error => { diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 00baad8cf12..7e71dffde5e 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -1,16 +1,15 @@ import { BattleType } from "#enums/battle-type"; import { globalScene } from "#app/global-scene"; import type { Gender } from "../data/gender"; -import type { Nature } from "#enums/nature"; -import type { PokeballType } from "#enums/pokeball"; +import { Nature } from "#enums/nature"; +import { PokeballType } from "#enums/pokeball"; import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-species"; -import { Status } from "../data/status-effect"; -import Pokemon, { EnemyPokemon, PokemonMove, PokemonSummonData } from "../field/pokemon"; +import type { Status } from "../data/status-effect"; +import Pokemon, { EnemyPokemon, PokemonBattleData, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "#enums/trainer-slot"; import type { Variant } from "#app/sprites/variant"; -import { loadBattlerTag } from "../data/battler-tags"; import type { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; +import type { Moves } from "#enums/moves"; import type { Species } from "#enums/species"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import type { PokemonType } from "#enums/pokemon-type"; @@ -60,79 +59,66 @@ export default class PokemonData { public fusionTeraType: PokemonType; public boss: boolean; - public bossSegments?: number; + public bossSegments: number; + // Effects that need to be preserved between waves public summonData: PokemonSummonData; + public battleData: PokemonBattleData; public summonDataSpeciesFormIndex: number; - /** Data that can customize a Pokemon in non-standard ways from its Species */ public customPokemonData: CustomPokemonData; public fusionCustomPokemonData: CustomPokemonData; // Deprecated attributes, needed for now to allow SessionData migration (see PR#4619 comments) + // TODO: Remove these once pre-session migration is implemented public natureOverride: Nature | -1; public mysteryEncounterPokemonData: CustomPokemonData | null; public fusionMysteryEncounterPokemonData: CustomPokemonData | null; - constructor(source: Pokemon | any, forHistory = false) { - const sourcePokemon = source instanceof Pokemon ? source : null; + /** + * Construct a new {@linkcode PokemonData} instance out of a {@linkcode Pokemon} + * or JSON representation thereof. + * @param source The {@linkcode Pokemon} to convert into data (or a JSON object representing one) + */ + // TODO: Remove any from type signature in favor of 2 separate method funcs + constructor(source: Pokemon | any) { + const sourcePokemon = source instanceof Pokemon ? source : undefined; + this.id = source.id; - this.player = sourcePokemon ? sourcePokemon.isPlayer() : source.player; - this.species = sourcePokemon ? sourcePokemon.species.speciesId : source.species; - this.nickname = sourcePokemon - ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.nickname : sourcePokemon.nickname) - : source.nickname; + this.player = sourcePokemon?.isPlayer() ?? source.player; + this.species = sourcePokemon?.species.speciesId ?? source.species; + this.nickname = sourcePokemon?.summonData.illusion?.basePokemon.nickname ?? source.nickname; this.formIndex = Math.max(Math.min(source.formIndex, getPokemonSpecies(this.species).forms.length - 1), 0); this.abilityIndex = source.abilityIndex; this.passive = source.passive; - this.shiny = sourcePokemon ? sourcePokemon.isShiny() : source.shiny; - this.variant = sourcePokemon ? sourcePokemon.getVariant() : source.variant; - this.pokeball = source.pokeball; + this.shiny = sourcePokemon?.isShiny() ?? source.shiny; + this.variant = sourcePokemon?.getVariant() ?? source.variant; + this.pokeball = source.pokeball ?? PokeballType.POKEBALL; this.level = source.level; this.exp = source.exp; - if (!forHistory) { - this.levelExp = source.levelExp; - } + this.levelExp = source.levelExp; this.gender = source.gender; - if (!forHistory) { - this.hp = source.hp; - } + this.hp = source.hp; this.stats = source.stats; this.ivs = source.ivs; - this.nature = source.nature !== undefined ? source.nature : (0 as Nature); - this.friendship = - source.friendship !== undefined ? source.friendship : getPokemonSpecies(this.species).baseFriendship; + + // TODO: Can't we move some of this verification stuff to an upgrade script? + this.nature = source.nature ?? Nature.HARDY; + this.moveset = source.moveset.map((m: any) => PokemonMove.loadMove(m)); + this.status = source.status ?? null; + this.friendship = source.friendship ?? getPokemonSpecies(this.species).baseFriendship; this.metLevel = source.metLevel || 5; - this.metBiome = source.metBiome !== undefined ? source.metBiome : -1; + this.metBiome = source.metBiome ?? -1; this.metSpecies = source.metSpecies; this.metWave = source.metWave ?? (this.metBiome === -1 ? -1 : 0); - this.luck = source.luck !== undefined ? source.luck : source.shiny ? source.variant + 1 : 0; - if (!forHistory) { - this.pauseEvolutions = !!source.pauseEvolutions; - this.evoCounter = source.evoCounter ?? 0; - } + this.luck = source.luck ?? (source.shiny ? source.variant + 1 : 0); + this.pauseEvolutions = !!source.pauseEvolutions; this.pokerus = !!source.pokerus; - this.teraType = source.teraType as PokemonType; - this.isTerastallized = source.isTerastallized || false; - this.stellarTypesBoosted = source.stellarTypesBoosted || []; - - this.fusionSpecies = sourcePokemon ? sourcePokemon.fusionSpecies?.speciesId : source.fusionSpecies; - this.fusionFormIndex = source.fusionFormIndex; - this.fusionAbilityIndex = source.fusionAbilityIndex; - this.fusionShiny = sourcePokemon - ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.fusionShiny : sourcePokemon.fusionShiny) - : source.fusionShiny; - this.fusionVariant = sourcePokemon - ? (!!sourcePokemon.summonData?.illusion ? sourcePokemon.summonData.illusion.basePokemon.fusionVariant : sourcePokemon.fusionVariant) - : source.fusionVariant; - this.fusionGender = source.fusionGender; - this.fusionLuck = - source.fusionLuck !== undefined ? source.fusionLuck : source.fusionShiny ? source.fusionVariant + 1 : 0; - this.fusionCustomPokemonData = new CustomPokemonData(source.fusionCustomPokemonData); - this.fusionTeraType = (source.fusionTeraType ?? 0) as PokemonType; this.usedTMs = source.usedTMs ?? []; - - this.customPokemonData = new CustomPokemonData(source.customPokemonData); + this.evoCounter = source.evoCounter ?? 0; + this.teraType = source.teraType as PokemonType; + this.isTerastallized = !!source.isTerastallized; + this.stellarTypesBoosted = source.stellarTypesBoosted ?? []; // Deprecated, but needed for session data migration this.natureOverride = source.natureOverride; @@ -143,52 +129,25 @@ export default class PokemonData { ? new CustomPokemonData(source.fusionMysteryEncounterPokemonData) : null; - if (!forHistory) { - this.boss = (source instanceof EnemyPokemon && !!source.bossSegments) || (!this.player && !!source.boss); - this.bossSegments = source.bossSegments; - } + this.fusionSpecies = sourcePokemon?.fusionSpecies?.speciesId ?? source.fusionSpecies; + this.fusionFormIndex = source.fusionFormIndex; + this.fusionAbilityIndex = source.fusionAbilityIndex; + this.fusionShiny = sourcePokemon?.summonData.illusion?.basePokemon.fusionShiny ?? source.fusionShiny; + this.fusionVariant = sourcePokemon?.summonData.illusion?.basePokemon.fusionVariant ?? source.fusionVariant; + this.fusionGender = source.fusionGender; + this.fusionLuck = source.fusionLuck ?? (source.fusionShiny ? source.fusionVariant + 1 : 0); + this.fusionTeraType = (source.fusionTeraType ?? 0) as PokemonType; - if (sourcePokemon) { - this.moveset = sourcePokemon.moveset; - if (!forHistory) { - this.status = sourcePokemon.status; - if (this.player && sourcePokemon.summonData) { - this.summonData = sourcePokemon.summonData; - this.summonDataSpeciesFormIndex = this.getSummonDataSpeciesFormIndex(); - } - } - } else { - this.moveset = (source.moveset || [new PokemonMove(Moves.TACKLE), new PokemonMove(Moves.GROWL)]) - .filter(m => m) - .map((m: any) => new PokemonMove(m.moveId, m.ppUsed, m.ppUp, m.virtual, m.maxPpOverride)); - if (!forHistory) { - this.status = source.status - ? new Status(source.status.effect, source.status.toxicTurnCount, source.status.sleepTurnsRemaining) - : null; - } + this.boss = (source instanceof EnemyPokemon && !!source.bossSegments) || (!this.player && !!source.boss); + this.bossSegments = source.bossSegments ?? 0; - this.summonData = new PokemonSummonData(); - if (!forHistory && source.summonData) { - this.summonData.stats = source.summonData.stats; - this.summonData.statStages = source.summonData.statStages; - this.summonData.moveQueue = source.summonData.moveQueue; - this.summonData.abilitySuppressed = source.summonData.abilitySuppressed; - this.summonData.abilitiesApplied = source.summonData.abilitiesApplied; + this.summonData = new PokemonSummonData(source.summonData); + this.battleData = new PokemonBattleData(source.battleData); + this.summonDataSpeciesFormIndex = + sourcePokemon?.summonData.speciesForm?.formIndex ?? source.summonDataSpeciesFormIndex; - this.summonData.ability = source.summonData.ability; - this.summonData.moveset = source.summonData.moveset?.map(m => PokemonMove.loadMove(m)); - this.summonData.types = source.summonData.types; - this.summonData.speciesForm = source.summonData.speciesForm; - this.summonDataSpeciesFormIndex = source.summonDataSpeciesFormIndex; - this.summonData.illusionBroken = source.summonData.illusionBroken; - - if (source.summonData.tags) { - this.summonData.tags = source.summonData.tags?.map(t => loadBattlerTag(t)); - } else { - this.summonData.tags = []; - } - } - } + this.customPokemonData = new CustomPokemonData(source.customPokemonData); + this.fusionCustomPokemonData = new CustomPokemonData(source.fusionCustomPokemonData); } toPokemon(battleType?: BattleType, partyMemberIndex = 0, double = false): Pokemon { @@ -223,30 +182,15 @@ export default class PokemonData { false, this, ); - if (this.summonData) { - // when loading from saved session, recover summonData.speciesFrom and form index species object - // used to stay transformed on reload session - if (this.summonData.speciesForm) { - this.summonData.speciesForm = getPokemonSpeciesForm( - this.summonData.speciesForm.speciesId, - this.summonDataSpeciesFormIndex, - ); - } - ret.primeSummonData(this.summonData); + // when loading from saved session, recover summonData.speciesFrom and form index species object + // used to stay transformed on reload session + if (this.summonData.speciesForm) { + this.summonData.speciesForm = getPokemonSpeciesForm( + this.summonData.speciesForm.speciesId, + this.summonDataSpeciesFormIndex, + ); } return ret; } - - /** - * Method to save summon data species form index - * Necessary in case the pokemon is transformed - * to reload the correct form - */ - getSummonDataSpeciesFormIndex(): number { - if (this.summonData.speciesForm) { - return this.summonData.speciesForm.formIndex; - } - return 0; - } } diff --git a/src/system/version_migration/version_converter.ts b/src/system/version_migration/version_converter.ts index 1fdb9e93f88..798115e0395 100644 --- a/src/system/version_migration/version_converter.ts +++ b/src/system/version_migration/version_converter.ts @@ -59,6 +59,10 @@ import * as v1_7_0 from "./versions/v1_7_0"; // biome-ignore lint/style/noNamespaceImport: Convenience import * as v1_8_3 from "./versions/v1_8_3"; +// --- v1.9.0 PATCHES --- // +// biome-ignore lint/style/noNamespaceImport: Convenience +import * as v1_9_0 from "./versions/v1_9_0"; + /** Current game version */ const LATEST_VERSION = version; @@ -80,6 +84,7 @@ systemMigrators.push(...v1_8_3.systemMigrators); const sessionMigrators: SessionSaveMigrator[] = []; sessionMigrators.push(...v1_0_4.sessionMigrators); sessionMigrators.push(...v1_7_0.sessionMigrators); +sessionMigrators.push(...v1_9_0.sessionMigrators); /** All settings migrators */ const settingsMigrators: SettingsSaveMigrator[] = []; diff --git a/src/system/version_migration/versions/v1_9_0.ts b/src/system/version_migration/versions/v1_9_0.ts new file mode 100644 index 00000000000..9505a7138f8 --- /dev/null +++ b/src/system/version_migration/versions/v1_9_0.ts @@ -0,0 +1,47 @@ +import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; +import { Status } from "#app/data/status-effect"; +import { PokemonMove } from "#app/field/pokemon"; +import type { SessionSaveData } from "#app/system/game-data"; +import type PokemonData from "#app/system/pokemon-data"; +import { Moves } from "#enums/moves"; + +/** + * Migrate all lingering rage fist data inside `CustomPokemonData`, + * as well as enforcing default values across the board. + * @param data - {@linkcode SystemSaveData} + */ +const migratePartyData: SessionSaveMigrator = { + version: "1.9.0", + migrate: (data: SessionSaveData): void => { + // this stuff is copied straight from the constructor fwiw + const mapParty = (pkmnData: PokemonData) => { + pkmnData.status &&= new Status( + pkmnData.status.effect, + pkmnData.status.toxicTurnCount, + pkmnData.status.sleepTurnsRemaining, + ); + // remove empty moves from moveset + pkmnData.moveset = (pkmnData.moveset ?? [new PokemonMove(Moves.TACKLE), new PokemonMove(Moves.GROWL)]) + .filter(m => !!m) + .map(m => PokemonMove.loadMove(m)); + // only edit summondata moveset if exists + pkmnData.summonData.moveset &&= pkmnData.summonData.moveset.filter(m => !!m).map(m => PokemonMove.loadMove(m)); + + if ( + pkmnData.customPokemonData && + "hitsRecCount" in pkmnData.customPokemonData && + typeof pkmnData.customPokemonData["hitsRecCount"] === "number" + ) { + // transfer old hit count stat to battleData. + pkmnData.battleData.hitCount = pkmnData.customPokemonData["hitsRecCount"]; + pkmnData.customPokemonData["hitsRecCount"] = null; + } + return pkmnData; + }; + + data.party = data.party.map(mapParty); + data.enemyParty = data.enemyParty.map(mapParty); + }, +}; + +export const sessionMigrators: Readonly = [migratePartyData] as const; diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 8f5a9c75428..3f5e0393ff7 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -310,6 +310,48 @@ const timedEvents: TimedEvent[] = [ }, ], }, + { + name: "Shining Spring", + eventType: EventType.SHINY, + startDate: new Date(Date.UTC(2025, 4, 2)), + endDate: new Date(Date.UTC(2025, 4, 12)), + bannerKey: "spr25event", + scale: 0.21, + availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "es-MX", "pt-BR", "zh-CN"], + shinyMultiplier: 2, + upgradeUnlockedVouchers: true, + eventEncounters: [ + { species: Species.HOPPIP }, + { species: Species.CELEBI }, + { species: Species.VOLBEAT }, + { species: Species.ILLUMISE }, + { species: Species.SPOINK }, + { species: Species.LILEEP }, + { species: Species.SHINX }, + { species: Species.PACHIRISU }, + { species: Species.CHERUBI }, + { species: Species.MUNCHLAX }, + { species: Species.TEPIG }, + { species: Species.PANSAGE }, + { species: Species.PANSEAR }, + { species: Species.PANPOUR }, + { species: Species.DARUMAKA }, + { species: Species.ARCHEN }, + { species: Species.DEERLING, formIndex: 0 }, // Spring Deerling + { species: Species.CLAUNCHER }, + { species: Species.WISHIWASHI }, + { species: Species.MUDBRAY }, + { species: Species.DRAMPA }, + { species: Species.JANGMO_O }, + { species: Species.APPLIN }, + ], + classicWaveRewards: [ + { wave: 8, type: "SHINY_CHARM" }, + { wave: 8, type: "ABILITY_CHARM" }, + { wave: 8, type: "CATCHING_CHARM" }, + { wave: 25, type: "SHINY_CHARM" }, + ], + } ]; export class TimedEventManager { diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 99a91a9330e..cabe897d7b6 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -617,7 +617,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { return resolve(); } - const gender: Gender = pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; + const gender = pokemon.summonData.illusion?.gender ?? pokemon.gender; this.genderText.setText(getGenderSymbol(gender)); this.genderText.setColor(getGenderColor(gender)); @@ -794,7 +794,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { const nameSizeTest = addTextObject(0, 0, displayName, TextStyle.BATTLE_INFO); nameTextWidth = nameSizeTest.displayWidth; - const gender: Gender = pokemon.summonData?.illusion ? pokemon.summonData?.illusion.gender : pokemon.gender; + const gender = pokemon.summonData.illusion?.gender ?? pokemon.gender; while ( nameTextWidth > (this.player || !this.boss ? 60 : 98) - diff --git a/src/ui/command-ui-handler.ts b/src/ui/command-ui-handler.ts index 57c5b5a82a2..ff27e9c41c0 100644 --- a/src/ui/command-ui-handler.ts +++ b/src/ui/command-ui-handler.ts @@ -86,7 +86,7 @@ export default class CommandUiHandler extends UiHandler { this.teraButton.setFrame(PokemonType[globalScene.getField()[this.fieldIndex].getTeraType()].toLowerCase()); } else { this.teraButton.setVisible(false); - if (this.cursor === Command.TERA) { + if (this.getCursor() === Command.TERA) { this.setCursor(Command.FIGHT); } } diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index e0a73d62934..5a0978a934d 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -127,7 +127,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { messageHandler.commandWindow.setVisible(false); messageHandler.movesWindowContainer.setVisible(true); const pokemon = (globalScene.getCurrentPhase() as CommandPhase).getPokemon(); - if (pokemon.battleSummonData.turnCount <= 1) { + if (pokemon.tempSummonData.turnCount <= 1) { this.setCursor(0); } else { this.setCursor(this.getCursor()); @@ -305,7 +305,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { const effectiveness = opponent.getMoveEffectiveness( pokemon, pokemonMove.getMove(), - !opponent.battleData?.abilityRevealed, + !opponent.waveData.abilityRevealed, undefined, undefined, true, @@ -356,7 +356,7 @@ export default class FightUiHandler extends UiHandler implements InfoToggle { opponent.getMoveEffectiveness( pokemon, pokemonMove.getMove(), - !opponent.battleData.abilityRevealed, + !opponent.waveData.abilityRevealed, undefined, undefined, true, diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 7c3689e757c..6e947796d63 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -1581,7 +1581,7 @@ class PartySlot extends Phaser.GameObjects.Container { fusionShinyStar.setOrigin(0, 0); fusionShinyStar.setPosition(shinyStar.x, shinyStar.y); fusionShinyStar.setTint( - getVariantTint(this.pokemon.summonData?.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), + getVariantTint(this.pokemon.summonData.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), ); slotInfoContainer.add(fusionShinyStar); diff --git a/src/ui/registration-form-ui-handler.ts b/src/ui/registration-form-ui-handler.ts index 3d4613c21d6..a60a53a8e7a 100644 --- a/src/ui/registration-form-ui-handler.ts +++ b/src/ui/registration-form-ui-handler.ts @@ -102,9 +102,9 @@ export default class RegistrationFormUiHandler extends FormModalUiHandler { // Prevent overlapping overrides on action modification this.submitAction = originalRegistrationAction; this.sanitizeInputs(); - globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); + globalScene.ui.setMode(UiMode.LOADING, { buttonActions: [] }); const onFail = error => { - globalScene.ui.setMode(UiMode.REGISTRATION_FORM, Object.assign(config, { errorMessage: error?.trim() })); + globalScene.ui.setMode(UiMode.REGISTRATION_FORM, Object.assign(config, { errorMessage: error?.trim() })); globalScene.ui.playError(); const errorMessageFontSize = languageSettings[i18next.resolvedLanguage!]?.errorMessageFontSize; if (errorMessageFontSize) { diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 877c342651f..f93a1826b3e 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -359,15 +359,15 @@ export default class SummaryUiHandler extends UiHandler { this.pokemonSprite.setPipelineData("spriteKey", this.pokemon.getSpriteKey()); this.pokemonSprite.setPipelineData( "shiny", - this.pokemon.summonData?.illusion?.basePokemon.shiny ?? this.pokemon.shiny, + this.pokemon.summonData.illusion?.basePokemon.shiny ?? this.pokemon.shiny, ); this.pokemonSprite.setPipelineData( "variant", - this.pokemon.summonData?.illusion?.basePokemon.variant ?? this.pokemon.variant, + this.pokemon.summonData.illusion?.basePokemon.variant ?? this.pokemon.variant, ); ["spriteColors", "fusionSpriteColors"].map(k => { delete this.pokemonSprite.pipelineData[`${k}Base`]; - if (this.pokemon?.summonData?.speciesForm) { + if (this.pokemon?.summonData.speciesForm) { k += "Base"; } this.pokemonSprite.pipelineData[k] = this.pokemon?.getSprite().pipelineData[k]; @@ -462,7 +462,7 @@ export default class SummaryUiHandler extends UiHandler { this.fusionShinyIcon.setVisible(doubleShiny); if (isFusion) { this.fusionShinyIcon.setTint( - getVariantTint(this.pokemon.summonData?.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), + getVariantTint(this.pokemon.summonData.illusion?.basePokemon.fusionVariant ?? this.pokemon.fusionVariant), ); } diff --git a/src/ui/target-select-ui-handler.ts b/src/ui/target-select-ui-handler.ts index 0db2020c25a..5e14e5f7771 100644 --- a/src/ui/target-select-ui-handler.ts +++ b/src/ui/target-select-ui-handler.ts @@ -71,7 +71,7 @@ export default class TargetSelectUiHandler extends UiHandler { */ resetCursor(cursorN: number, user: Pokemon): void { if (!isNullOrUndefined(cursorN)) { - if ([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2].includes(cursorN) || user.battleSummonData.waveTurnCount === 1) { + if ([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2].includes(cursorN) || user.tempSummonData.waveTurnCount === 1) { // Reset cursor on the first turn of a fight or if an ally was targeted last turn cursorN = -1; } diff --git a/src/utils/common.ts b/src/utils/common.ts index 4acfabce080..4cf7ceccff2 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -467,35 +467,22 @@ export function truncateString(str: string, maxLength = 10) { return str; } -/** - * Perform a deep copy of an object. - * - * @param values - The object to be deep copied. - * @returns A new object that is a deep copy of the input. - */ -export function deepCopy(values: object): object { - // Convert the object to a JSON string and parse it back to an object to perform a deep copy - return JSON.parse(JSON.stringify(values)); -} - /** * Convert a space-separated string into a capitalized and underscored string. - * * @param input - The string to be converted. * @returns The converted string with words capitalized and separated by underscores. */ -export function reverseValueToKeySetting(input) { +export function reverseValueToKeySetting(input: string) { // Split the input string into an array of words const words = input.split(" "); // Capitalize the first letter of each word and convert the rest to lowercase - const capitalizedWords = words.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()); + const capitalizedWords = words.map((word: string) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()); // Join the capitalized words with underscores and return the result return capitalizedWords.join("_"); } /** * Capitalize a string. - * * @param str - The string to be capitalized. * @param sep - The separator between the words of the string. * @param lowerFirstChar - Whether the first character of the string should be lowercase or not. @@ -515,8 +502,8 @@ export function capitalizeString(str: string, sep: string, lowerFirstChar = true return null; } -export function isNullOrUndefined(object: any): object is undefined | null { - return null === object || undefined === object; +export function isNullOrUndefined(object: any): object is null | undefined { + return object === null || object === undefined; } /** @@ -550,14 +537,14 @@ export function getLocalizedSpriteKey(baseKey: string) { } /** - * Check if a number is **inclusive** between two numbers - * @param num the number to check - * @param min the minimum value (included) - * @param max the maximum value (included) - * @returns `true` if number is **inclusive** between min and max + * Check if a number is **inclusively** between two numbers + * @param num - the number to check + * @param min - the minimum value (inclusive) + * @param max - the maximum value (inclusive) + * @returns Whether num is no less than min and no greater than max */ export function isBetween(num: number, min: number, max: number): boolean { - return num >= min && num <= max; + return min <= num && num <= max; } /** @@ -579,25 +566,3 @@ export function animationFileName(move: Moves): string { export function camelCaseToKebabCase(str: string): string { return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (s, o) => (o ? "-" : "") + s.toLowerCase()); } - -/** - * Merges the two objects, such that for each property in `b` that matches a property in `a`, - * the value in `a` is replaced by the value in `b`. This is done recursively if the property is a non-array object - * - * If the property does not exist in `a` or its `typeof` evaluates differently, the property is skipped. - * If the value of the property is an array, the array is replaced. If it is any other object, the object is merged recursively. - */ -// biome-ignore lint/complexity/noBannedTypes: This function is designed to merge json objects -export function deepMergeObjects(a: Object, b: Object) { - for (const key in b) { - // !(key in a) is redundant here, yet makes it clear that we're explicitly interested in properties that exist in `a` - if (!(key in a) || typeof a[key] !== typeof b[key]) { - continue; - } - if (typeof b[key] === "object" && !Array.isArray(b[key])) { - deepMergeObjects(a[key], b[key]); - } else { - a[key] = b[key]; - } - } -} diff --git a/src/utils/data.ts b/src/utils/data.ts new file mode 100644 index 00000000000..33623dc5e40 --- /dev/null +++ b/src/utils/data.ts @@ -0,0 +1,40 @@ +/** + * Perform a deep copy of an object. + * @param values - The object to be deep copied. + * @returns A new object that is a deep copy of the input. + */ +export function deepCopy(values: object): object { + // Convert the object to a JSON string and parse it back to an object to perform a deep copy + return JSON.parse(JSON.stringify(values)); +} + +/** + * Deeply merge two JSON objects' common properties together. + * This copies all values from `source` that match properties inside `dest`, + * checking recursively for non-null nested objects. + + * If a property in `source` does not exist in `dest` or its `typeof` evaluates differently, it is skipped. + * If it is a non-array object, its properties are recursed into and checked in turn. + * All other values are copied verbatim. + * @param dest - The object to merge values into + * @param source - The object to source merged values from + * @remarks Do not use for regular objects; this is specifically made for JSON copying. + */ +export function deepMergeSpriteData(dest: object, source: object) { + for (const key of Object.keys(source)) { + if ( + !(key in dest) || + typeof source[key] !== typeof dest[key] || + Array.isArray(source[key]) !== Array.isArray(dest[key]) + ) { + continue; + } + + // Pure objects get recursed into; everything else gets overwritten + if (typeof source[key] !== "object" || source[key] === null || Array.isArray(source[key])) { + dest[key] = source[key]; + } else { + deepMergeSpriteData(dest[key], source[key]); + } + } +} diff --git a/test/abilities/cud_chew.test.ts b/test/abilities/cud_chew.test.ts new file mode 100644 index 00000000000..f99060cb744 --- /dev/null +++ b/test/abilities/cud_chew.test.ts @@ -0,0 +1,322 @@ +import { RepeatBerryNextTurnAbAttr } from "#app/data/abilities/ability"; +import Pokemon from "#app/field/pokemon"; +import { globalScene } from "#app/global-scene"; +import { getPokemonNameWithAffix } from "#app/messages"; +import { Abilities } from "#enums/abilities"; +import { BerryType } from "#enums/berry-type"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { Stat } from "#enums/stat"; +import GameManager from "#test/testUtils/gameManager"; +import i18next from "i18next"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Cud Chew", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.BUG_BITE, Moves.SPLASH, Moves.HYPER_VOICE, Moves.STUFF_CHEEKS]) + .startingHeldItems([{ name: "BERRY", type: BerryType.SITRUS, count: 1 }]) + .ability(Abilities.CUD_CHEW) + .battleStyle("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + describe("tracks berries eaten", () => { + it("stores inside summonData at end of turn", async () => { + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; // needed to allow sitrus procs + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + // berries tracked in turnData; not moved to battleData yet + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.phaseInterceptor.to("TurnEndPhase"); + + // berries stored in battleData; not yet cleared from turnData + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.turnData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.toNextTurn(); + + // turnData cleared on turn start + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + }); + + it("shows ability popup for eating berry, even if berry is useless", async () => { + const abDisplaySpy = vi.spyOn(globalScene, "queueAbilityDisplay"); + game.override.enemyMoveset([Moves.SPLASH, Moves.HEAL_PULSE]); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + // Dip below half to eat berry + farigiraf.hp = farigiraf.getMaxHp() / 2 - 1; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + // doesn't trigger since cud chew hasn't eaten berry yet + expect(farigiraf.summonData.berriesEatenLast).toContain(BerryType.SITRUS); + expect(abDisplaySpy).not.toHaveBeenCalledWith(farigiraf); + await game.toNextTurn(); + + // get heal pulsed back to full before the cud chew proc + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.HEAL_PULSE); + await game.phaseInterceptor.to("TurnEndPhase"); + + // globalScene.queueAbilityDisplay should be called twice: + // once to show cud chew text before regurgitating berries, + // once to hide ability text after finishing. + expect(abDisplaySpy).toBeCalledTimes(2); + expect(abDisplaySpy.mock.calls[0][0]).toBe(farigiraf); + expect(abDisplaySpy.mock.calls[0][2]).toBe(true); + expect(abDisplaySpy.mock.calls[1][0]).toBe(farigiraf); + expect(abDisplaySpy.mock.calls[1][2]).toBe(false); + + // should display messgae + expect(game.textInterceptor.getLatestMessage()).toBe( + i18next.t("battle:hpIsFull", { + pokemonName: getPokemonNameWithAffix(farigiraf), + }), + ); + + // not called again at turn end + expect(abDisplaySpy).toBeCalledTimes(2); + }); + + it("can store multiple berries across 2 turns with teatime", async () => { + // always eat first berry for stuff cheeks & company + vi.spyOn(Pokemon.prototype, "randSeedInt").mockReturnValue(0); + game.override + .startingHeldItems([ + { name: "BERRY", type: BerryType.PETAYA, count: 3 }, + { name: "BERRY", type: BerryType.LIECHI, count: 3 }, + ]) + .enemyMoveset(Moves.TEATIME); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; // needed to allow berry procs + + game.move.select(Moves.STUFF_CHEEKS); + await game.toNextTurn(); + + // Ate 2 petayas from moves + 1 of each at turn end; all 4 get tallied on turn end + expect(farigiraf.summonData.berriesEatenLast).toEqual([ + BerryType.PETAYA, + BerryType.PETAYA, + BerryType.PETAYA, + BerryType.LIECHI, + ]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // previous berries eaten and deleted from summon data as remaining eaten berries move to replace them + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.LIECHI, BerryType.LIECHI]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.getStatStage(Stat.SPATK)).toBe(6); // 3+0+3 + expect(farigiraf.getStatStage(Stat.ATK)).toBe(4); // 1+2+1 + }); + + it("should reset both arrays on switch", async () => { + await game.classicMode.startBattle([Species.FARIGIRAF, Species.GIRAFARIG]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + // eat berry turn 1, switch out turn 2 + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + const turn1Hp = farigiraf.hp; + game.doSwitchPokemon(1); + await game.toNextTurn(); + + // summonData got cleared due to switch, turnData got cleared due to turn end + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toEqual(turn1Hp); + + game.doSwitchPokemon(1); + await game.toNextTurn(); + + // TurnData gets cleared while switching in + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toEqual(turn1Hp); + }); + + it("clears array if disabled", async () => { + game.override.enemyAbility(Abilities.NEUTRALIZING_GAS); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.toNextTurn(); + + // both arrays empty since neut gas disabled both the mid-turn and post-turn effects + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + }); + }); + + describe("regurgiates berries", () => { + it("re-triggers effects on eater without pushing to array", async () => { + const apply = vi.spyOn(RepeatBerryNextTurnAbAttr.prototype, "apply"); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // ate 1 sitrus the turn prior, spitball pending + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(apply.mock.lastCall).toBeUndefined(); + + const turn1Hp = farigiraf.hp; + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + // healed back up to half without adding any more to array + expect(farigiraf.hp).toBeGreaterThan(turn1Hp); + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + }); + + it("bypasses unnerve", async () => { + game.override.enemyAbility(Abilities.UNNERVE); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + // Turn end proc set the berriesEatenLast array back to being empty + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toBeGreaterThanOrEqual(farigiraf.hp / 2); + }); + + it("doesn't trigger on non-eating removal", async () => { + game.override.enemyMoveset(Moves.INCINERATE); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = farigiraf.getMaxHp() / 4; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // no berries eaten due to getting cooked + expect(farigiraf.summonData.berriesEatenLast).toEqual([]); + expect(farigiraf.turnData.berriesEaten).toEqual([]); + expect(farigiraf.hp).toBeLessThan(farigiraf.getMaxHp() / 4); + }); + + it("works with pluck", async () => { + game.override + .enemySpecies(Species.BLAZIKEN) + .enemyHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]) + .startingHeldItems([]); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + + game.move.select(Moves.BUG_BITE); + await game.toNextTurn(); + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // berry effect triggered twice - once for bug bite, once for cud chew + expect(farigiraf.getStatStage(Stat.SPATK)).toBe(2); + }); + + it("works with Ripen", async () => { + game.override.passiveAbility(Abilities.RIPEN); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + // Rounding errors only ever cost a maximum of 4 hp + expect(farigiraf.getInverseHp()).toBeLessThanOrEqual(3); + }); + + it("is preserved on reload/wave clear", async () => { + game.override.enemyLevel(1); + await game.classicMode.startBattle([Species.FARIGIRAF]); + + const farigiraf = game.scene.getPlayerPokemon()!; + farigiraf.hp = 1; + + game.move.select(Moves.HYPER_VOICE); + await game.toNextWave(); + + // berry went yummy yummy in big fat giraffe tummy + expect(farigiraf.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + expect(farigiraf.hp).toBeGreaterThan(1); + + // reload and the berry should still be there + await game.reload.reloadSession(); + + const farigirafReloaded = game.scene.getPlayerPokemon()!; + expect(farigirafReloaded.summonData.berriesEatenLast).toEqual([BerryType.SITRUS]); + + const wave1Hp = farigirafReloaded.hp; + + // blow up next wave and we should proc the repeat eating + game.move.select(Moves.HYPER_VOICE); + await game.toNextWave(); + + expect(farigirafReloaded.hp).toBeGreaterThan(wave1Hp); + }); + }); +}); diff --git a/test/abilities/galvanize.test.ts b/test/abilities/galvanize.test.ts deleted file mode 100644 index 5db8b642197..00000000000 --- a/test/abilities/galvanize.test.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { BattlerIndex } from "#app/battle"; -import { allMoves } from "#app/data/moves/move"; -import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; -import GameManager from "#test/testUtils/gameManager"; -import Phaser from "phaser"; -import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; - -describe("Abilities - Galvanize", () => { - let phaserGame: Phaser.Game; - let game: GameManager; - - beforeAll(() => { - phaserGame = new Phaser.Game({ - type: Phaser.HEADLESS, - }); - }); - - afterEach(() => { - game.phaseInterceptor.restoreOg(); - }); - - beforeEach(() => { - game = new GameManager(phaserGame); - - game.override - .battleStyle("single") - .startingLevel(100) - .ability(Abilities.GALVANIZE) - .moveset([Moves.TACKLE, Moves.REVELATION_DANCE, Moves.FURY_SWIPES]) - .enemySpecies(Species.DUSCLOPS) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemyLevel(100); - }); - - it("should change Normal-type attacks to Electric type and boost their power", async () => { - await game.classicMode.startBattle(); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - const move = allMoves[Moves.TACKLE]; - vi.spyOn(move, "calculateBattlePower"); - - game.move.select(Moves.TACKLE); - - await game.phaseInterceptor.to("BerryPhase", false); - - expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(spy).toHaveReturnedWith(1); - expect(move.calculateBattlePower).toHaveReturnedWith(48); - expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); - - spy.mockRestore(); - }); - - it("should cause Normal-type attacks to activate Volt Absorb", async () => { - game.override.enemyAbility(Abilities.VOLT_ABSORB); - - await game.classicMode.startBattle(); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - enemyPokemon.hp = Math.floor(enemyPokemon.getMaxHp() * 0.8); - - game.move.select(Moves.TACKLE); - - await game.phaseInterceptor.to("BerryPhase", false); - - expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(spy).toHaveReturnedWith(0); - expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - }); - - it("should not change the type of variable-type moves", async () => { - game.override.enemySpecies(Species.MIGHTYENA); - - await game.classicMode.startBattle([Species.ESPEON]); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - game.move.select(Moves.REVELATION_DANCE); - await game.phaseInterceptor.to("BerryPhase", false); - - expect(playerPokemon.getMoveType).not.toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(spy).toHaveReturnedWith(0); - expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - }); - - it("should affect all hits of a Normal-type multi-hit move", async () => { - await game.classicMode.startBattle(); - - const playerPokemon = game.scene.getPlayerPokemon()!; - vi.spyOn(playerPokemon, "getMoveType"); - - const enemyPokemon = game.scene.getEnemyPokemon()!; - const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - - game.move.select(Moves.FURY_SWIPES); - await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); - await game.move.forceHit(); - - await game.phaseInterceptor.to("MoveEffectPhase"); - expect(playerPokemon.turnData.hitCount).toBeGreaterThan(1); - expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); - - while (playerPokemon.turnData.hitsLeft > 0) { - const enemyStartingHp = enemyPokemon.hp; - await game.phaseInterceptor.to("MoveEffectPhase"); - - expect(playerPokemon.getMoveType).toHaveLastReturnedWith(PokemonType.ELECTRIC); - expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp); - } - - expect(spy).not.toHaveReturnedWith(0); - }); -}); diff --git a/test/abilities/good_as_gold.test.ts b/test/abilities/good_as_gold.test.ts index 944c1d1bca1..09bdaafb11f 100644 --- a/test/abilities/good_as_gold.test.ts +++ b/test/abilities/good_as_gold.test.ts @@ -49,7 +49,7 @@ describe("Abilities - Good As Gold", () => { await game.phaseInterceptor.to("BerryPhase"); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.GOOD_AS_GOLD); + expect(player.waveData.abilitiesApplied).toContain(Abilities.GOOD_AS_GOLD); expect(player.getStatStage(Stat.ATK)).toBe(0); }); diff --git a/test/abilities/harvest.test.ts b/test/abilities/harvest.test.ts new file mode 100644 index 00000000000..23c0ed9088c --- /dev/null +++ b/test/abilities/harvest.test.ts @@ -0,0 +1,346 @@ +import { BattlerIndex } from "#app/battle"; +import { PostTurnRestoreBerryAbAttr } from "#app/data/abilities/ability"; +import type Pokemon from "#app/field/pokemon"; +import { BerryModifier, PreserveBerryModifier } from "#app/modifier/modifier"; +import type { ModifierOverride } from "#app/modifier/modifier-type"; +import type { BooleanHolder } from "#app/utils/common"; +import { Abilities } from "#enums/abilities"; +import { BerryType } from "#enums/berry-type"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { Stat } from "#enums/stat"; +import { WeatherType } from "#enums/weather-type"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Harvest", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + const getPlayerBerries = () => + game.scene.getModifiers(BerryModifier, true).filter(b => b.pokemonId === game.scene.getPlayerPokemon()?.id); + + /** Check whether the player's Modifiers contains the specified berries and nothing else. */ + function expectBerriesContaining(...berries: ModifierOverride[]): void { + const actualBerries: ModifierOverride[] = getPlayerBerries().map( + // only grab berry type and quantity since that's literally all we care about + b => ({ name: "BERRY", type: b.berryType, count: b.getStackCount() }), + ); + expect(actualBerries).toEqual(berries); + } + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.SPLASH, Moves.NATURAL_GIFT, Moves.FALSE_SWIPE, Moves.GASTRO_ACID]) + .ability(Abilities.HARVEST) + .startingLevel(100) + .battleStyle("single") + .disableCrits() + .statusActivation(false) // Since we're using nuzzle to proc both enigma and sitrus berries + .weather(WeatherType.SUNNY) // guaranteed recovery + .enemyLevel(1) + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset([Moves.SPLASH, Moves.NUZZLE, Moves.KNOCK_OFF, Moves.INCINERATE]); + }); + + it("replenishes eaten berries", async () => { + game.override.startingHeldItems([{ name: "BERRY", type: BerryType.LUM, count: 1 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.NUZZLE); + await game.phaseInterceptor.to("BerryPhase"); + expect(getPlayerBerries()).toHaveLength(0); + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toHaveLength(1); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectBerriesContaining({ name: "BERRY", type: BerryType.LUM, count: 1 }); + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + }); + + it("tracks berries eaten while disabled/not present", async () => { + // Note: this also checks for harvest not being present as neutralizing gas works by making + // the game consider all other pokemon to *not* have their respective abilities. + game.override + .startingHeldItems([ + { name: "BERRY", type: BerryType.ENIGMA, count: 2 }, + { name: "BERRY", type: BerryType.LUM, count: 2 }, + ]) + .enemyAbility(Abilities.NEUTRALIZING_GAS); + await game.classicMode.startBattle([Species.MILOTIC]); + + const milotic = game.scene.getPlayerPokemon()!; + expect(milotic).toBeDefined(); + + // Chug a few berries without harvest (should get tracked) + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.NUZZLE); + await game.toNextTurn(); + + expect(milotic.battleData.berriesEaten).toEqual(expect.arrayContaining([BerryType.ENIGMA, BerryType.LUM])); + expect(getPlayerBerries()).toHaveLength(2); + + // Give ourselves harvest and disable enemy neut gas, + // but force our roll to fail so we don't accidentally recover anything + vi.spyOn(PostTurnRestoreBerryAbAttr.prototype, "canApplyPostTurn").mockReturnValueOnce(false); + game.override.ability(Abilities.HARVEST); + game.move.select(Moves.GASTRO_ACID); + await game.forceEnemyMove(Moves.NUZZLE); + + await game.toNextTurn(); + + expect(milotic.battleData.berriesEaten).toEqual( + expect.arrayContaining([BerryType.ENIGMA, BerryType.LUM, BerryType.ENIGMA, BerryType.LUM]), + ); + expect(getPlayerBerries()).toHaveLength(0); + + // proc a high roll and we _should_ get a berry back! + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.toNextTurn(); + + expect(milotic.battleData.berriesEaten).toHaveLength(3); + expect(getPlayerBerries()).toHaveLength(1); + }); + + it("remembers berries eaten array across waves", async () => { + game.override + .startingHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 2 }]) + .ability(Abilities.BALL_FETCH); // don't actually need harvest for this test + await game.classicMode.startBattle([Species.REGIELEKI]); + + const regieleki = game.scene.getPlayerPokemon()!; + regieleki.hp = 1; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.doKillOpponents(); + await game.phaseInterceptor.to("TurnEndPhase"); + + // ate 1 berry without recovering (no harvest) + expect(regieleki.battleData.berriesEaten).toEqual([BerryType.PETAYA]); + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(regieleki.getStatStage(Stat.SPATK)).toBe(1); + + await game.toNextWave(); + + expect(regieleki.battleData.berriesEaten).toEqual([BerryType.PETAYA]); + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(regieleki.getStatStage(Stat.SPATK)).toBe(1); + }); + + it("keeps harvested berries across reloads", async () => { + game.override + .startingHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]) + .moveset([Moves.SPLASH, Moves.EARTHQUAKE]) + .enemyMoveset([Moves.SUPER_FANG, Moves.HEAL_PULSE]) + .enemyAbility(Abilities.COMPOUND_EYES); + await game.classicMode.startBattle([Species.REGIELEKI]); + + const regieleki = game.scene.getPlayerPokemon()!; + regieleki.hp = regieleki.getMaxHp() / 4 + 1; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SUPER_FANG); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.toNextTurn(); + + // ate 1 berry and recovered it + expect(regieleki.battleData.berriesEaten).toEqual([]); + expect(getPlayerBerries()).toEqual([expect.objectContaining({ berryType: BerryType.PETAYA, stackCount: 1 })]); + expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.SPATK)).toBe(1); + + // heal up so harvest doesn't proc and kill enemy + game.move.select(Moves.EARTHQUAKE); + await game.forceEnemyMove(Moves.HEAL_PULSE); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.toNextWave(); + + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.SPATK)).toBe(1); + + await game.reload.reloadSession(); + + expect(regieleki.battleData.berriesEaten).toEqual([]); + expectBerriesContaining({ name: "BERRY", count: 1, type: BerryType.PETAYA }); + expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.SPATK)).toBe(1); + }); + + it("cannot restore capped berries", async () => { + const initBerries: ModifierOverride[] = [ + { name: "BERRY", type: BerryType.LUM, count: 2 }, + { name: "BERRY", type: BerryType.STARF, count: 2 }, + ]; + game.override.startingHeldItems(initBerries); + await game.classicMode.startBattle([Species.FEEBAS]); + + const feebas = game.scene.getPlayerPokemon()!; + feebas.battleData.berriesEaten = [BerryType.LUM, BerryType.STARF]; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + // Force RNG roll to hit the first berry we find that matches. + // This does nothing on a success (since there'd only be a starf left to grab), + // but ensures we don't accidentally let any false positives through. + vi.spyOn(Phaser.Math.RND, "integerInRange").mockReturnValue(0); + await game.phaseInterceptor.to("TurnEndPhase"); + + // recovered a starf + expectBerriesContaining( + { name: "BERRY", type: BerryType.LUM, count: 2 }, + { name: "BERRY", type: BerryType.STARF, count: 3 }, + ); + }); + + it("does nothing if all berries are capped", async () => { + const initBerries: ModifierOverride[] = [ + { name: "BERRY", type: BerryType.LUM, count: 2 }, + { name: "BERRY", type: BerryType.STARF, count: 3 }, + ]; + game.override.startingHeldItems(initBerries); + await game.classicMode.startBattle([Species.FEEBAS]); + + const player = game.scene.getPlayerPokemon()!; + player.battleData.berriesEaten = [BerryType.LUM, BerryType.STARF]; + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectBerriesContaining(...initBerries); + }); + + describe("move/ability interactions", () => { + it("cannot restore incinerated berries", async () => { + game.override.startingHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 3 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.INCINERATE); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + }); + + it("cannot restore knocked off berries", async () => { + game.override.startingHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 3 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.forceEnemyMove(Moves.KNOCK_OFF); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + }); + + it("can restore berries eaten by Teatime", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.STARF, count: 1 }]; + game.override.startingHeldItems(initBerries).enemyMoveset(Moves.TEATIME); + await game.classicMode.startBattle([Species.FEEBAS]); + + // nom nom the berr berr yay yay + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + expectBerriesContaining(...initBerries); + }); + + it("cannot restore Plucked berries for either side", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]; + game.override.startingHeldItems(initBerries).enemyAbility(Abilities.HARVEST).enemyMoveset(Moves.PLUCK); + await game.classicMode.startBattle([Species.FEEBAS]); + + // gobble gobble gobble + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + + // pluck triggers harvest for neither side + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + expect(game.scene.getEnemyPokemon()?.battleData.berriesEaten).toEqual([]); + expect(getPlayerBerries()).toEqual([]); + }); + + it("cannot restore berries preserved via Berry Pouch", async () => { + // mock berry pouch to have a 100% success rate + vi.spyOn(PreserveBerryModifier.prototype, "apply").mockImplementation( + (_pokemon: Pokemon, doPreserve: BooleanHolder): boolean => { + doPreserve.value = false; + return true; + }, + ); + + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]; + game.override.startingHeldItems(initBerries).startingModifier([{ name: "BERRY_POUCH", count: 1 }]); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase", false); + + // won't trigger harvest since we didn't lose the berry (it just doesn't ever add it to the array) + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); + expectBerriesContaining(...initBerries); + }); + + it("can restore stolen berries", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.SITRUS, count: 1 }]; + game.override.enemyHeldItems(initBerries).passiveAbility(Abilities.MAGICIAN).hasPassiveAbility(true); + await game.classicMode.startBattle([Species.MEOWSCARADA]); + + // pre damage + const player = game.scene.getPlayerPokemon()!; + player.hp = 1; + + // steal a sitrus and immediately consume it + game.move.select(Moves.FALSE_SWIPE); + await game.forceEnemyMove(Moves.SPLASH); + await game.phaseInterceptor.to("BerryPhase"); + expect(player.battleData.berriesEaten).toEqual([BerryType.SITRUS]); + + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(player.battleData.berriesEaten).toEqual([]); + expectBerriesContaining(...initBerries); + }); + + // TODO: Enable once fling actually works...??? + it.todo("can restore berries flung at user", async () => { + game.override.enemyHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 1 }]).enemyMoveset(Moves.FLING); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.SPLASH); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toBe([]); + expect(getPlayerBerries()).toEqual([]); + }); + + // TODO: Enable once Nat Gift gets implemented...??? + it.todo("can restore berries consumed via Natural Gift", async () => { + const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.STARF, count: 1 }]; + game.override.startingHeldItems(initBerries); + await game.classicMode.startBattle([Species.FEEBAS]); + + game.move.select(Moves.NATURAL_GIFT); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toHaveLength(0); + expectBerriesContaining(...initBerries); + }); + }); +}); diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index 1d8ce58ab38..998d29f169c 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -38,8 +38,8 @@ describe("Abilities - Illusion", () => { const zoroark = game.scene.getPlayerPokemon()!; const zorua = game.scene.getEnemyPokemon()!; - expect(!!zoroark.summonData?.illusion).equals(true); - expect(!!zorua.summonData?.illusion).equals(true); + expect(!!zoroark.summonData.illusion).equals(true); + expect(!!zorua.summonData.illusion).equals(true); }); it("break after receiving damaging move", async () => { @@ -50,7 +50,7 @@ describe("Abilities - Illusion", () => { const zorua = game.scene.getEnemyPokemon()!; - expect(!!zorua.summonData?.illusion).equals(false); + expect(!!zorua.summonData.illusion).equals(false); expect(zorua.name).equals("Zorua"); }); @@ -62,7 +62,7 @@ describe("Abilities - Illusion", () => { const zorua = game.scene.getEnemyPokemon()!; - expect(!!zorua.summonData?.illusion).equals(false); + expect(!!zorua.summonData.illusion).equals(false); }); it("break with neutralizing gas", async () => { @@ -71,7 +71,7 @@ describe("Abilities - Illusion", () => { const zorua = game.scene.getEnemyPokemon()!; - expect(!!zorua.summonData?.illusion).equals(false); + expect(!!zorua.summonData.illusion).equals(false); }); it("causes enemy AI to consider the illusion's type instead of the actual type when considering move effectiveness", async () => { @@ -116,7 +116,7 @@ describe("Abilities - Illusion", () => { const zoroark = game.scene.getPlayerPokemon()!; - expect(!!zoroark.summonData?.illusion).equals(true); + expect(!!zoroark.summonData.illusion).equals(true); }); it("copies the the name, nickname, gender, shininess, and pokeball from the illusion source", async () => { diff --git a/test/abilities/infiltrator.test.ts b/test/abilities/infiltrator.test.ts index 48671e54020..1a9f802dd9c 100644 --- a/test/abilities/infiltrator.test.ts +++ b/test/abilities/infiltrator.test.ts @@ -68,7 +68,7 @@ describe("Abilities - Infiltrator", () => { const postScreenDmg = enemy.getAttackDamage({ source: player, move: allMoves[move] }).damage; expect(postScreenDmg).toBe(preScreenDmg); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); it("should bypass the target's Safeguard", async () => { @@ -83,7 +83,7 @@ describe("Abilities - Infiltrator", () => { await game.phaseInterceptor.to("BerryPhase", false); expect(enemy.status?.effect).toBe(StatusEffect.SLEEP); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); // TODO: fix this interaction to pass this test @@ -99,7 +99,7 @@ describe("Abilities - Infiltrator", () => { await game.phaseInterceptor.to("MoveEndPhase"); expect(enemy.getStatStage(Stat.ATK)).toBe(-1); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); it("should bypass the target's Substitute", async () => { @@ -114,6 +114,6 @@ describe("Abilities - Infiltrator", () => { await game.phaseInterceptor.to("MoveEndPhase"); expect(enemy.getStatStage(Stat.ATK)).toBe(-1); - expect(player.battleData.abilitiesApplied[0]).toBe(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); }); }); diff --git a/test/abilities/libero.test.ts b/test/abilities/libero.test.ts index 2e3668813c5..4adb828180e 100644 --- a/test/abilities/libero.test.ts +++ b/test/abilities/libero.test.ts @@ -67,7 +67,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.AGILITY); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied.filter(a => a === Abilities.LIBERO)).toHaveLength(1); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]]; const moveType = PokemonType[allMoves[Moves.AGILITY].type]; expect(leadPokemonType).not.toBe(moveType); @@ -99,7 +99,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.WEATHER_BALL); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.FIRE]; @@ -118,7 +118,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.ICE]; @@ -214,7 +214,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability is not applied if pokemon is terastallized", async () => { @@ -230,7 +230,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability is not applied if pokemon uses struggle", async () => { @@ -244,7 +244,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.STRUGGLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability is not applied if the pokemon's move fails", async () => { @@ -258,7 +258,7 @@ describe("Abilities - Libero", () => { game.move.select(Moves.BURN_UP); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); }); test("ability applies correctly even if the pokemon's Trick-or-Treat fails", async () => { @@ -293,7 +293,7 @@ describe("Abilities - Libero", () => { }); function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) { - expect(pokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(pokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); expect(pokemon.getTypes()).toHaveLength(1); const pokemonType = PokemonType[pokemon.getTypes()[0]], moveType = PokemonType[allMoves[move].type]; diff --git a/test/abilities/normal-move-type-change.test.ts b/test/abilities/normal-move-type-change.test.ts new file mode 100644 index 00000000000..50c8e04af1f --- /dev/null +++ b/test/abilities/normal-move-type-change.test.ts @@ -0,0 +1,190 @@ +import { BattlerIndex } from "#app/battle"; +import { allMoves } from "#app/data/moves/move"; +import { PokemonType } from "#enums/pokemon-type"; +import { Abilities } from "#app/enums/abilities"; +import { Moves } from "#app/enums/moves"; +import { Species } from "#app/enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { TYPE_BOOST_ITEM_BOOST_PERCENT } from "#app/constants"; +import { allAbilities } from "#app/data/data-lists"; +import { MoveTypeChangeAbAttr } from "#app/data/abilities/ability"; +import { toDmgValue } from "#app/utils/common"; + +/** + * Tests for abilities that change the type of normal moves to + * a different type and boost their power + * + * Includes + * - Aerialate + * - Galvanize + * - Pixilate + * - Refrigerate + */ + +describe.each([ + { ab: Abilities.GALVANIZE, ab_name: "Galvanize", ty: PokemonType.ELECTRIC, tyName: "electric" }, + { ab: Abilities.PIXILATE, ab_name: "Pixilate", ty: PokemonType.FAIRY, tyName: "fairy" }, + { ab: Abilities.REFRIGERATE, ab_name: "Refrigerate", ty: PokemonType.ICE, tyName: "ice" }, + { ab: Abilities.AERILATE, ab_name: "Aerilate", ty: PokemonType.FLYING, tyName: "flying" }, +])("Abilities - $ab_name", ({ ab, ty, tyName }) => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + + game.override + .battleStyle("single") + .startingLevel(100) + .starterSpecies(Species.MAGIKARP) + .ability(ab) + .moveset([Moves.TACKLE, Moves.REVELATION_DANCE, Moves.FURY_SWIPES]) + .enemySpecies(Species.DUSCLOPS) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH) + .enemyLevel(100); + }); + + it(`should change Normal-type attacks to ${tyName} type and boost their power`, async () => { + await game.classicMode.startBattle(); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const typeSpy = vi.spyOn(playerPokemon, "getMoveType"); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + const enemySpy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); + const powerSpy = vi.spyOn(allMoves[Moves.TACKLE], "calculateBattlePower"); + + game.move.select(Moves.TACKLE); + + await game.phaseInterceptor.to("BerryPhase", false); + + expect(typeSpy).toHaveLastReturnedWith(ty); + expect(enemySpy).toHaveReturnedWith(1); + expect(powerSpy).toHaveReturnedWith(48); + expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); + }); + + // Galvanize specifically would like to check for volt absorb's activation + if (ab === Abilities.GALVANIZE) { + it("should cause Normal-type attacks to activate Volt Absorb", async () => { + game.override.enemyAbility(Abilities.VOLT_ABSORB); + + await game.classicMode.startBattle(); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const tySpy = vi.spyOn(playerPokemon, "getMoveType"); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + const enemyEffectivenessSpy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); + + enemyPokemon.hp = Math.floor(enemyPokemon.getMaxHp() * 0.8); + + game.move.select(Moves.TACKLE); + + await game.phaseInterceptor.to("BerryPhase", false); + + expect(tySpy).toHaveLastReturnedWith(PokemonType.ELECTRIC); + expect(enemyEffectivenessSpy).toHaveReturnedWith(0); + expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); + }); + } + + it.each([ + { moveName: "Revelation Dance", move: Moves.REVELATION_DANCE, expected_ty: PokemonType.WATER }, + { moveName: "Judgement", move: Moves.JUDGMENT, expected_ty: PokemonType.NORMAL }, + { moveName: "Terrain Pulse", move: Moves.TERRAIN_PULSE, expected_ty: PokemonType.NORMAL }, + { moveName: "Weather Ball", move: Moves.WEATHER_BALL, expected_ty: PokemonType.NORMAL }, + { moveName: "Multi Attack", move: Moves.MULTI_ATTACK, expected_ty: PokemonType.NORMAL }, + { moveName: "Techno Blast", move: Moves.TECHNO_BLAST, expected_ty: PokemonType.NORMAL }, + ])("should not change the type of $moveName", async ({ move, expected_ty: expectedTy }) => { + game.override + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .moveset([move]) + .starterSpecies(Species.MAGIKARP); + + await game.classicMode.startBattle([Species.MAGIKARP]); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const tySpy = vi.spyOn(playerPokemon, "getMoveType"); + + game.move.select(move); + await game.phaseInterceptor.to("BerryPhase", false); + + expect(tySpy).toHaveLastReturnedWith(expectedTy); + }); + + it("should affect all hits of a Normal-type multi-hit move", async () => { + await game.classicMode.startBattle(); + + const playerPokemon = game.scene.getPlayerPokemon()!; + const tySpy = vi.spyOn(playerPokemon, "getMoveType"); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.FURY_SWIPES); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.move.forceHit(); + + await game.phaseInterceptor.to("MoveEffectPhase"); + expect(playerPokemon.turnData.hitCount).toBeGreaterThan(1); + expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); + + while (playerPokemon.turnData.hitsLeft > 0) { + const enemyStartingHp = enemyPokemon.hp; + await game.phaseInterceptor.to("MoveEffectPhase"); + + expect(tySpy).toHaveLastReturnedWith(ty); + expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp); + } + }); + + it("should not be affected by silk scarf after changing the move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.NORMAL }]); + await game.classicMode.startBattle(); + + const testMoveInstance = allMoves[Moves.TACKLE]; + + // get the power boost from the ability so we can compare it to the item + // @ts-expect-error power multiplier is private + const boost = allAbilities[ab]?.getAttrs(MoveTypeChangeAbAttr)[0]?.powerMultiplier; + expect(boost, "power boost should be defined").toBeDefined(); + + const powerSpy = vi.spyOn(testMoveInstance, "calculateBattlePower"); + const typeSpy = vi.spyOn(game.scene.getPlayerPokemon()!, "getMoveType"); + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase", false); + expect(typeSpy, "type was not changed").toHaveLastReturnedWith(ty); + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(testMoveInstance.power * boost)); + }); + + it("should be affected by the type boosting item after changing the move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: ty }]); + await game.classicMode.startBattle(); + + // get the power boost from the ability so we can compare it to the item + // @ts-expect-error power multiplier is private + const boost = allAbilities[ab]?.getAttrs(MoveTypeChangeAbAttr)[0]?.powerMultiplier; + expect(boost, "power boost should be defined").toBeDefined(); + + const tackle = allMoves[Moves.TACKLE]; + + const spy = vi.spyOn(tackle, "calculateBattlePower"); + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase", false); + expect(spy).toHaveLastReturnedWith(toDmgValue(tackle.power * boost * (1 + TYPE_BOOST_ITEM_BOOST_PERCENT / 100))); + }); +}); diff --git a/test/abilities/normalize.test.ts b/test/abilities/normalize.test.ts new file mode 100644 index 00000000000..3256f0188d1 --- /dev/null +++ b/test/abilities/normalize.test.ts @@ -0,0 +1,92 @@ +import { TYPE_BOOST_ITEM_BOOST_PERCENT } from "#app/constants"; +import { allMoves } from "#app/data/moves/move"; +import { toDmgValue } from "#app/utils/common"; +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { PokemonType } from "#enums/pokemon-type"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Abilities - Normalize", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([Moves.TACKLE]) + .ability(Abilities.NORMALIZE) + .battleStyle("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should boost the power of normal type moves by 20%", async () => { + await game.classicMode.startBattle([Species.MAGIKARP]); + const powerSpy = vi.spyOn(allMoves[Moves.TACKLE], "calculateBattlePower"); + + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase"); + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[Moves.TACKLE].power * 1.2)); + }); + + it("should not apply the old type boost item after changing a move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.GRASS }]); + game.override.moveset([Moves.LEAFAGE]); + + const powerSpy = vi.spyOn(allMoves[Moves.LEAFAGE], "calculateBattlePower"); + await game.classicMode.startBattle([Species.MAGIKARP]); + game.move.select(Moves.LEAFAGE); + await game.phaseInterceptor.to("BerryPhase"); + + // It should return with 1.2 (that is, only the power boost from the ability) + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[Moves.LEAFAGE].power * 1.2)); + }); + + it("should apply silk scarf's power boost after changing a move's type", async () => { + game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.NORMAL }]); + game.override.moveset([Moves.LEAFAGE]); + + const powerSpy = vi.spyOn(allMoves[Moves.LEAFAGE], "calculateBattlePower"); + await game.classicMode.startBattle([Species.MAGIKARP]); + game.move.select(Moves.LEAFAGE); + await game.phaseInterceptor.to("BerryPhase"); + + // 1.2 from normalize boost, second 1.2 from + expect(powerSpy).toHaveLastReturnedWith( + toDmgValue(allMoves[Moves.LEAFAGE].power * 1.2 * (1 + TYPE_BOOST_ITEM_BOOST_PERCENT / 100)), + ); + }); + + it.each([ + { moveName: "Revelation Dance", move: Moves.REVELATION_DANCE }, + { moveName: "Judgement", move: Moves.JUDGMENT, expected_ty: PokemonType.NORMAL }, + { moveName: "Terrain Pulse", move: Moves.TERRAIN_PULSE }, + { moveName: "Weather Ball", move: Moves.WEATHER_BALL }, + { moveName: "Multi Attack", move: Moves.MULTI_ATTACK }, + { moveName: "Techno Blast", move: Moves.TECHNO_BLAST }, + { moveName: "Hidden Power", move: Moves.HIDDEN_POWER }, + ])("should not boost the power of $moveName", async ({ move }) => { + game.override.moveset([move]); + await game.classicMode.startBattle([Species.MAGIKARP]); + const powerSpy = vi.spyOn(allMoves[move], "calculateBattlePower"); + + game.move.select(move); + await game.phaseInterceptor.to("BerryPhase"); + expect(powerSpy).toHaveLastReturnedWith(allMoves[move].power); + }); +}); diff --git a/test/abilities/protean.test.ts b/test/abilities/protean.test.ts index efa6f33fe00..8f7633e1327 100644 --- a/test/abilities/protean.test.ts +++ b/test/abilities/protean.test.ts @@ -67,7 +67,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.AGILITY); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied.filter(a => a === Abilities.PROTEAN)).toHaveLength(1); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]]; const moveType = PokemonType[allMoves[Moves.AGILITY].type]; expect(leadPokemonType).not.toBe(moveType); @@ -99,7 +99,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.WEATHER_BALL); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.FIRE]; @@ -118,7 +118,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.ICE]; @@ -214,7 +214,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability is not applied if pokemon is terastallized", async () => { @@ -230,7 +230,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability is not applied if pokemon uses struggle", async () => { @@ -244,7 +244,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.STRUGGLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability is not applied if the pokemon's move fails", async () => { @@ -258,7 +258,7 @@ describe("Abilities - Protean", () => { game.move.select(Moves.BURN_UP); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); }); test("ability applies correctly even if the pokemon's Trick-or-Treat fails", async () => { @@ -293,7 +293,7 @@ describe("Abilities - Protean", () => { }); function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) { - expect(pokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(pokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); expect(pokemon.getTypes()).toHaveLength(1); const pokemonType = PokemonType[pokemon.getTypes()[0]], moveType = PokemonType[allMoves[move].type]; diff --git a/test/abilities/quick_draw.test.ts b/test/abilities/quick_draw.test.ts index 0d3171e947e..79a29b0ce77 100644 --- a/test/abilities/quick_draw.test.ts +++ b/test/abilities/quick_draw.test.ts @@ -54,7 +54,7 @@ describe("Abilities - Quick Draw", () => { expect(pokemon.isFainted()).toBe(false); expect(enemy.isFainted()).toBe(true); - expect(pokemon.battleData.abilitiesApplied).contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).contain(Abilities.QUICK_DRAW); }, 20000); test( @@ -76,7 +76,7 @@ describe("Abilities - Quick Draw", () => { expect(pokemon.isFainted()).toBe(true); expect(enemy.isFainted()).toBe(false); - expect(pokemon.battleData.abilitiesApplied).not.contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).not.contain(Abilities.QUICK_DRAW); }, ); @@ -96,6 +96,6 @@ describe("Abilities - Quick Draw", () => { expect(pokemon.isFainted()).toBe(true); expect(enemy.isFainted()).toBe(false); - expect(pokemon.battleData.abilitiesApplied).contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).contain(Abilities.QUICK_DRAW); }, 20000); }); diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index 463ec7587dc..f558efdb103 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -155,7 +155,7 @@ describe("Abilities - Wimp Out", () => { game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("SwitchSummonPhase", false); - expect(wimpod.summonData.abilitiesApplied).not.toContain(Abilities.WIMP_OUT); + expect(wimpod.waveData.abilitiesApplied).not.toContain(Abilities.WIMP_OUT); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/battle/inverse_battle.test.ts b/test/battle/inverse_battle.test.ts index f8afa3518a9..799442bb603 100644 --- a/test/battle/inverse_battle.test.ts +++ b/test/battle/inverse_battle.test.ts @@ -179,12 +179,12 @@ describe("Inverse Battle", () => { expect(enemy.status?.effect).toBe(StatusEffect.PARALYSIS); }); - it("Anticipation should trigger on 2x effective moves - Anticipation against Thunderbolt", async () => { + it("Anticipation should trigger on 2x effective moves", async () => { game.override.moveset([Moves.THUNDERBOLT]).enemySpecies(Species.SANDSHREW).enemyAbility(Abilities.ANTICIPATION); await game.challengeMode.startBattle(); - expect(game.scene.getEnemyPokemon()?.summonData.abilitiesApplied[0]).toBe(Abilities.ANTICIPATION); + expect(game.scene.getEnemyPokemon()?.waveData.abilitiesApplied).toContain(Abilities.ANTICIPATION); }); it("Conversion 2 should change the type to the resistive type - Conversion 2 against Dragonite", async () => { diff --git a/test/battlerTags/substitute.test.ts b/test/battlerTags/substitute.test.ts index d2df5511c0a..c2a99299716 100644 --- a/test/battlerTags/substitute.test.ts +++ b/test/battlerTags/substitute.test.ts @@ -42,7 +42,6 @@ describe("BattlerTag - SubstituteTag", () => { // simulate a Trapped tag set by another Pokemon, then expect the filter to catch it. const trapTag = new BindTag(5, 0); expect(tagFilter(trapTag)).toBeTruthy(); - return true; }) as Pokemon["findAndRemoveTags"], } as unknown as Pokemon; diff --git a/test/moves/dive.test.ts b/test/moves/dive.test.ts index f33dc69b55f..95c3349c8a6 100644 --- a/test/moves/dive.test.ts +++ b/test/moves/dive.test.ts @@ -105,7 +105,7 @@ describe("Moves - Dive", () => { await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp()); - expect(enemyPokemon.battleData.abilitiesApplied[0]).toBe(Abilities.ROUGH_SKIN); + expect(enemyPokemon.waveData.abilitiesApplied).toContain(Abilities.ROUGH_SKIN); }); it("should cancel attack after Harsh Sunlight is set", async () => { diff --git a/test/moves/fake_out.test.ts b/test/moves/fake_out.test.ts index cbce16270e0..404473c8fa0 100644 --- a/test/moves/fake_out.test.ts +++ b/test/moves/fake_out.test.ts @@ -26,64 +26,71 @@ describe("Moves - Fake Out", () => { .moveset([Moves.FAKE_OUT, Moves.SPLASH]) .enemyMoveset(Moves.SPLASH) .enemyLevel(10) - .startingLevel(10) // prevent LevelUpPhase from happening + .startingLevel(1) // prevent LevelUpPhase from happening .disableCrits(); }); - it("can only be used on the first turn a pokemon is sent out in a battle", async () => { + it("should only work the first turn a pokemon is sent out in a battle", async () => { await game.classicMode.startBattle([Species.FEEBAS]); - const enemy = game.scene.getEnemyPokemon()!; + const corv = game.scene.getEnemyPokemon()!; game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); - const postTurnOneHp = enemy.hp; + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + const postTurnOneHp = corv.hp; game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(enemy.hp).toBe(postTurnOneHp); - }, 20000); + expect(corv.hp).toBe(postTurnOneHp); + }); // This is a PokeRogue buff to Fake Out - it("can be used at the start of every wave even if the pokemon wasn't recalled", async () => { + it("should succeed at the start of each new wave, even if user wasn't recalled", async () => { await game.classicMode.startBattle([Species.FEEBAS]); - const enemy = game.scene.getEnemyPokemon()!; - enemy.damageAndUpdate(enemy.getMaxHp() - 1); - + // set hp to 1 for easy knockout + game.scene.getEnemyPokemon()!.hp = 1; game.move.select(Moves.FAKE_OUT); await game.toNextWave(); game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(game.scene.getEnemyPokemon()!.isFullHp()).toBe(false); - }, 20000); + const corv = game.scene.getEnemyPokemon()!; + expect(corv).toBeDefined(); + expect(corv?.hp).toBeLessThan(corv?.getMaxHp()); + }); - it("can be used again if recalled and sent back out", async () => { - game.override.startingWave(4); + // This is a PokeRogue buff to Fake Out + it("should succeed at the start of each new wave, even if user wasn't recalled", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); + + // set hp to 1 for easy knockout + game.scene.getEnemyPokemon()!.hp = 1; + game.move.select(Moves.FAKE_OUT); + await game.toNextWave(); + + game.move.select(Moves.FAKE_OUT); + await game.toNextTurn(); + + const corv = game.scene.getEnemyPokemon()!; + expect(corv).toBeDefined(); + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + }); + + it("should succeed if recalled and sent back out", async () => { await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); - const enemy1 = game.scene.getEnemyPokemon()!; - - game.move.select(Moves.FAKE_OUT); - await game.phaseInterceptor.to("MoveEndPhase"); - - expect(enemy1.hp).toBeLessThan(enemy1.getMaxHp()); - - await game.doKillOpponents(); - await game.toNextWave(); - game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - const enemy2 = game.scene.getEnemyPokemon()!; + const corv = game.scene.getEnemyPokemon()!; - expect(enemy2.hp).toBeLessThan(enemy2.getMaxHp()); - enemy2.hp = enemy2.getMaxHp(); + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + corv.hp = corv.getMaxHp(); game.doSwitchPokemon(1); await game.toNextTurn(); @@ -94,6 +101,6 @@ describe("Moves - Fake Out", () => { game.move.select(Moves.FAKE_OUT); await game.toNextTurn(); - expect(enemy2.hp).toBeLessThan(enemy2.getMaxHp()); - }, 20000); + expect(corv.hp).toBeLessThan(corv.getMaxHp()); + }); }); diff --git a/test/moves/instruct.test.ts b/test/moves/instruct.test.ts index c5650d7bbd5..dd25db4ec90 100644 --- a/test/moves/instruct.test.ts +++ b/test/moves/instruct.test.ts @@ -228,7 +228,7 @@ describe("Moves - Instruct", () => { const amoonguss = game.scene.getPlayerPokemon()!; game.move.changeMoveset(amoonguss, Moves.SEED_BOMB); - amoonguss.battleSummonData.moveHistory = [ + amoonguss.summonData.moveHistory = [ { move: Moves.SEED_BOMB, targets: [BattlerIndex.ENEMY], @@ -301,7 +301,7 @@ describe("Moves - Instruct", () => { const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - enemy.battleSummonData.moveHistory = [ + enemy.summonData.moveHistory = [ { move: Moves.SONIC_BOOM, targets: [BattlerIndex.PLAYER], @@ -350,7 +350,7 @@ describe("Moves - Instruct", () => { await game.classicMode.startBattle([Species.LUCARIO, Species.BANETTE]); const enemyPokemon = game.scene.getEnemyPokemon()!; - enemyPokemon.battleSummonData.moveHistory = [ + enemyPokemon.summonData.moveHistory = [ { move: Moves.WHIRLWIND, targets: [BattlerIndex.PLAYER], diff --git a/test/moves/last-resort.test.ts b/test/moves/last-resort.test.ts new file mode 100644 index 00000000000..a7b462f3ca4 --- /dev/null +++ b/test/moves/last-resort.test.ts @@ -0,0 +1,166 @@ +import { BattlerIndex } from "#app/battle"; +import { MoveResult } from "#app/field/pokemon"; +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; + +describe("Moves - Last Resort", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + function expectLastResortFail() { + expect(game.scene.getPlayerPokemon()?.getLastXMoves()[0]).toEqual( + expect.objectContaining({ + move: Moves.LAST_RESORT, + result: MoveResult.FAIL, + }), + ); + } + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .ability(Abilities.BALL_FETCH) + .battleStyle("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(Moves.SPLASH); + }); + + it("should fail unless all other moves (excluding itself) has been used at least once", async () => { + game.override.moveset([Moves.LAST_RESORT, Moves.SPLASH, Moves.GROWL, Moves.GROWTH]); + await game.classicMode.startBattle([Species.BLISSEY]); + + const blissey = game.scene.getPlayerPokemon()!; + expect(blissey).toBeDefined(); + + // Last resort by itself + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); + + // Splash (1/3) + blissey.pushMoveHistory({ move: Moves.SPLASH, targets: [BattlerIndex.PLAYER] }); + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); + + // Growl (2/3) + blissey.pushMoveHistory({ move: Moves.GROWL, targets: [BattlerIndex.ENEMY] }); + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); // Were last resort itself counted, it would error here + + // Growth (3/3) + blissey.pushMoveHistory({ move: Moves.GROWTH, targets: [BattlerIndex.PLAYER] }); + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + expect(game.scene.getPlayerPokemon()?.getLastXMoves()[0]).toEqual( + expect.objectContaining({ + move: Moves.LAST_RESORT, + result: MoveResult.SUCCESS, + }), + ); + }); + + it("should disregard virtually invoked moves", async () => { + game.override + .moveset([Moves.LAST_RESORT, Moves.SWORDS_DANCE, Moves.ABSORB, Moves.MIRROR_MOVE]) + .enemyMoveset([Moves.SWORDS_DANCE, Moves.ABSORB]) + .ability(Abilities.DANCER) + .enemySpecies(Species.ABOMASNOW); // magikarp has 50% chance to be okho'd on absorb crit + await game.classicMode.startBattle([Species.BLISSEY]); + + // use mirror move normally to trigger absorb virtually + game.move.select(Moves.MIRROR_MOVE); + await game.forceEnemyMove(Moves.ABSORB); + await game.toNextTurn(); + + game.move.select(Moves.LAST_RESORT); + await game.forceEnemyMove(Moves.SWORDS_DANCE); // goes first to proc dancer ahead of time + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + expectLastResortFail(); + }); + + it("should fail if no other moves in moveset", async () => { + game.override.moveset(Moves.LAST_RESORT); + await game.classicMode.startBattle([Species.BLISSEY]); + + game.move.select(Moves.LAST_RESORT); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectLastResortFail(); + }); + + it("should work if invoked virtually when all other moves have been used", async () => { + game.override.moveset([Moves.LAST_RESORT, Moves.SLEEP_TALK]).ability(Abilities.COMATOSE); + await game.classicMode.startBattle([Species.KOMALA]); + + game.move.select(Moves.SLEEP_TALK); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.scene.getPlayerPokemon()?.getLastXMoves(-1)).toEqual([ + expect.objectContaining({ + move: Moves.LAST_RESORT, + result: MoveResult.SUCCESS, + virtual: true, + }), + expect.objectContaining({ + move: Moves.SLEEP_TALK, + result: MoveResult.SUCCESS, + }), + ]); + }); + + it("should preserve usability status on reload", async () => { + game.override.moveset([Moves.LAST_RESORT, Moves.SPLASH]).ability(Abilities.COMATOSE); + await game.classicMode.startBattle([Species.BLISSEY]); + + game.move.select(Moves.SPLASH); + await game.doKillOpponents(); + await game.toNextWave(); + + const oldMoveHistory = game.scene.getPlayerPokemon()?.summonData.moveHistory; + await game.reload.reloadSession(); + + const newMoveHistory = game.scene.getPlayerPokemon()?.summonData.moveHistory; + expect(oldMoveHistory).toEqual(newMoveHistory); + + // use last resort and it should kill the karp just fine + game.move.select(Moves.LAST_RESORT); + game.scene.getEnemyPokemon()!.hp = 1; + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.isVictory()).toBe(true); + }); + + it("should fail if used while not in moveset", async () => { + game.override.moveset(Moves.MIRROR_MOVE).enemyMoveset([Moves.ABSORB, Moves.LAST_RESORT]); + await game.classicMode.startBattle([Species.BLISSEY]); + + // ensure enemy last resort succeeds + game.move.select(Moves.MIRROR_MOVE); + await game.forceEnemyMove(Moves.ABSORB); + await game.phaseInterceptor.to("TurnEndPhase"); + game.move.select(Moves.MIRROR_MOVE); + await game.forceEnemyMove(Moves.LAST_RESORT); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + + expectLastResortFail(); + }); +}); diff --git a/test/moves/powder.test.ts b/test/moves/powder.test.ts index 6f7a6add054..457beb60f91 100644 --- a/test/moves/powder.test.ts +++ b/test/moves/powder.test.ts @@ -146,7 +146,7 @@ describe("Moves - Powder", () => { await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); - expect(enemyPokemon.summonData?.types).not.toBe(PokemonType.FIRE); + expect(enemyPokemon.summonData.types).not.toBe(PokemonType.FIRE); }); it("should cancel Fire-type moves generated by the target's Dancer ability", async () => { diff --git a/test/moves/rage_fist.test.ts b/test/moves/rage_fist.test.ts index 687d805da78..f215c5955c6 100644 --- a/test/moves/rage_fist.test.ts +++ b/test/moves/rage_fist.test.ts @@ -7,6 +7,7 @@ import type Move from "#app/data/moves/move"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { BattleType } from "#enums/battle-type"; describe("Moves - Rage Fist", () => { let phaserGame: Phaser.Game; @@ -28,19 +29,18 @@ describe("Moves - Rage Fist", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.RAGE_FIST, Moves.SPLASH, Moves.SUBSTITUTE]) + .moveset([Moves.RAGE_FIST, Moves.SPLASH, Moves.SUBSTITUTE, Moves.TIDY_UP]) .startingLevel(100) .enemyLevel(1) + .enemySpecies(Species.MAGIKARP) .enemyAbility(Abilities.BALL_FETCH) .enemyMoveset(Moves.DOUBLE_KICK); vi.spyOn(move, "calculateBattlePower"); }); - it("should have 100 more power if hit twice before calling Rage Fist", async () => { - game.override.enemySpecies(Species.MAGIKARP); - - await game.classicMode.startBattle([Species.MAGIKARP]); + it("should gain power per hit taken", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); game.move.select(Moves.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); @@ -49,51 +49,95 @@ describe("Moves - Rage Fist", () => { expect(move.calculateBattlePower).toHaveLastReturnedWith(150); }); - it("should maintain its power during next battle if it is within the same arena encounter", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(1); + it("caps at 6 hits taken", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); - await game.classicMode.startBattle([Species.MAGIKARP]); + // spam splash against magikarp hitting us 2 times per turn + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + game.move.select(Moves.SPLASH); + await game.toNextTurn(); + + game.move.select(Moves.RAGE_FIST); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + + // hit 8 times, but nothing else + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(8); + expect(move.calculateBattlePower).toHaveLastReturnedWith(350); + }); + + it("should not count substitute hits or confusion damage", async () => { + game.override.enemySpecies(Species.SHUCKLE).enemyMoveset([Moves.CONFUSE_RAY, Moves.DOUBLE_KICK]); + + await game.classicMode.startBattle([Species.REGIROCK]); + + game.move.select(Moves.SUBSTITUTE); + await game.forceEnemyMove(Moves.DOUBLE_KICK); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.toNextTurn(); + + // no increase due to substitute + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(0); + + // remove substitute and get confused + game.move.select(Moves.TIDY_UP); + await game.forceEnemyMove(Moves.CONFUSE_RAY); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.toNextTurn(); + + game.move.select(Moves.RAGE_FIST); + await game.forceEnemyMove(Moves.CONFUSE_RAY); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.move.forceConfusionActivation(true); + await game.toNextTurn(); + + // didn't go up from hitting ourself + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(0); + }); + + it("should maintain hits recieved between wild waves", async () => { + await game.classicMode.startBattle([Species.FEEBAS]); game.move.select(Moves.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(2); + game.move.select(Moves.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); - await game.phaseInterceptor.to("BerryPhase", false); + await game.phaseInterceptor.to("TurnEndPhase"); + expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(4); expect(move.calculateBattlePower).toHaveLastReturnedWith(250); }); - it("should reset the hitRecCounter if we enter new trainer battle", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(4); + it("should reset hits recieved before trainer battles", async () => { + await game.classicMode.startBattle([Species.IRON_HANDS]); - await game.classicMode.startBattle([Species.MAGIKARP]); + const ironHands = game.scene.getPlayerPokemon()!; + expect(ironHands).toBeDefined(); + // beat up a magikarp game.move.select(Moves.RAGE_FIST); + await game.forceEnemyMove(Moves.DOUBLE_KICK); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(game.isVictory()).toBe(true); + expect(ironHands.battleData.hitCount).toBe(2); + expect(move.calculateBattlePower).toHaveLastReturnedWith(150); + + game.override.battleType(BattleType.TRAINER); await game.toNextWave(); - game.move.select(Moves.RAGE_FIST); - await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); - await game.phaseInterceptor.to("BerryPhase", false); - - expect(move.calculateBattlePower).toHaveLastReturnedWith(150); + expect(ironHands.battleData.hitCount).toBe(0); }); - it("should not increase the hitCounter if Substitute is hit", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(4); - - await game.classicMode.startBattle([Species.MAGIKARP]); - - game.move.select(Moves.SUBSTITUTE); - await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); - await game.phaseInterceptor.to("MoveEffectPhase"); - - expect(game.scene.getPlayerPokemon()?.customPokemonData.hitsRecCount).toBe(0); - }); - - it("should reset the hitRecCounter if we enter new biome", async () => { + it("should reset hits recieved before new biome", async () => { game.override.enemySpecies(Species.MAGIKARP).startingWave(10); await game.classicMode.startBattle([Species.MAGIKARP]); @@ -109,25 +153,50 @@ describe("Moves - Rage Fist", () => { expect(move.calculateBattlePower).toHaveLastReturnedWith(150); }); - it("should not reset the hitRecCounter if switched out", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(1).enemyMoveset(Moves.TACKLE); + it("should not reset if switched out or on reload", async () => { + game.override.enemyMoveset(Moves.TACKLE); + + const getPartyHitCount = () => + game.scene + .getPlayerParty() + .filter(p => !!p) + .map(m => m.battleData.hitCount); await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + // Charizard hit game.move.select(Moves.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); + expect(getPartyHitCount()).toEqual([1, 0]); + // blastoise switched in & hit game.doSwitchPokemon(1); await game.toNextTurn(); + expect(getPartyHitCount()).toEqual([1, 1]); + // charizard switched in & hit game.doSwitchPokemon(1); await game.toNextTurn(); + expect(getPartyHitCount()).toEqual([2, 1]); + // Charizard rage fist game.move.select(Moves.RAGE_FIST); await game.phaseInterceptor.to("MoveEndPhase"); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.CHARIZARD); + const charizard = game.scene.getPlayerPokemon()!; + expect(charizard).toBeDefined(); + expect(charizard.species.speciesId).toBe(Species.CHARIZARD); + expect(move.calculateBattlePower).toHaveLastReturnedWith(150); + + // go to new wave, reload game and beat up another poor sap + await game.toNextWave(); + + await game.reload.reloadSession(); + + // outsped and oneshot means power rmains same as prior + game.move.select(Moves.RAGE_FIST); + await game.phaseInterceptor.to("MoveEndPhase"); expect(move.calculateBattlePower).toHaveLastReturnedWith(150); }); }); diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index 8817f12b8cf..efdb75e8156 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -75,7 +75,7 @@ describe("Moves - Tera Blast", () => { await game.phaseInterceptor.to("MoveEffectPhase"); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(100); - }, 20000); + }); it("is super effective against terastallized targets if user is Stellar tera type", async () => { await game.classicMode.startBattle(); @@ -189,5 +189,33 @@ describe("Moves - Tera Blast", () => { expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(-1); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-1); - }, 20000); + }); + + it.each([ + { ab: "galvanize", ty: "electric", ab_id: Abilities.GALVANIZE, ty_id: PokemonType.ELECTRIC }, + { ab: "refrigerate", ty: "ice", ab_id: Abilities.REFRIGERATE, ty_id: PokemonType.ICE }, + { ab: "pixilate", ty: "fairy", ab_id: Abilities.PIXILATE, ty_id: PokemonType.FAIRY }, + { ab: "aerilate", ty: "flying", ab_id: Abilities.AERILATE, ty_id: PokemonType.FLYING }, + ])("should be $ty type if the user has $ab", async ({ ab_id, ty_id }) => { + game.override.ability(ab_id).moveset([Moves.TERA_BLAST]).enemyAbility(Abilities.BALL_FETCH); + await game.classicMode.startBattle([Species.MAGIKARP]); + const playerPokemon = game.scene.getPlayerPokemon()!; + expect(playerPokemon.getMoveType(allMoves[Moves.TERA_BLAST])).toBe(ty_id); + }); + + it("should not be affected by normalize when the user is terastallized with tera normal", async () => { + game.override.moveset([Moves.TERA_BLAST]).ability(Abilities.NORMALIZE); + await game.classicMode.startBattle([Species.MAGIKARP]); + const playerPokemon = game.scene.getPlayerPokemon()!; + // override the tera state for the pokemon + playerPokemon.isTerastallized = true; + playerPokemon.teraType = PokemonType.NORMAL; + + const move = allMoves[Moves.TERA_BLAST]; + const powerSpy = vi.spyOn(move, "calculateBattlePower"); + + game.move.select(Moves.TERA_BLAST); + await game.phaseInterceptor.to("BerryPhase"); + expect(powerSpy).toHaveLastReturnedWith(move.power); + }); }); diff --git a/test/moves/toxic_spikes.test.ts b/test/moves/toxic_spikes.test.ts index 624db27bb92..b1fdc7f39c2 100644 --- a/test/moves/toxic_spikes.test.ts +++ b/test/moves/toxic_spikes.test.ts @@ -129,7 +129,7 @@ describe("Moves - Toxic Spikes", () => { await game.phaseInterceptor.to("BattleEndPhase"); await game.toNextWave(); - const sessionData: SessionSaveData = gameData["getSessionSaveData"](); + const sessionData: SessionSaveData = gameData.getSessionSaveData(); localStorage.setItem("sessionTestData", encrypt(JSON.stringify(sessionData), true)); const recoveredData: SessionSaveData = gameData.parseSessionData( decrypt(localStorage.getItem("sessionTestData")!, true), diff --git a/test/moves/transform.test.ts b/test/moves/transform.test.ts index 5bcb7c7ed4c..8bfe7df688b 100644 --- a/test/moves/transform.test.ts +++ b/test/moves/transform.test.ts @@ -4,7 +4,7 @@ import GameManager from "#test/testUtils/gameManager"; import { Species } from "#enums/species"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { Moves } from "#enums/moves"; -import { Stat, BATTLE_STATS, EFFECTIVE_STATS } from "#enums/stat"; +import { Stat, EFFECTIVE_STATS } from "#enums/stat"; import { Abilities } from "#enums/abilities"; import { BattlerIndex } from "#app/battle"; @@ -49,30 +49,18 @@ describe("Moves - Transform", () => { expect(player.getAbility()).toBe(enemy.getAbility()); expect(player.getGender()).toBe(enemy.getGender()); + // copies all stats except hp expect(player.getStat(Stat.HP, false)).not.toBe(enemy.getStat(Stat.HP)); for (const s of EFFECTIVE_STATS) { expect(player.getStat(s, false)).toBe(enemy.getStat(s, false)); } - for (const s of BATTLE_STATS) { - expect(player.getStatStage(s)).toBe(enemy.getStatStage(s)); - } + expect(player.getStatStages()).toEqual(enemy.getStatStages()); - const playerMoveset = player.getMoveset(); - const enemyMoveset = enemy.getMoveset(); + // move IDs are equal + expect(player.getMoveset().map(m => m.moveId)).toEqual(enemy.getMoveset().map(m => m.moveId)); - expect(playerMoveset.length).toBe(enemyMoveset.length); - for (let i = 0; i < playerMoveset.length && i < enemyMoveset.length; i++) { - expect(playerMoveset[i]?.moveId).toBe(enemyMoveset[i]?.moveId); - } - - const playerTypes = player.getTypes(); - const enemyTypes = enemy.getTypes(); - - expect(playerTypes.length).toBe(enemyTypes.length); - for (let i = 0; i < playerTypes.length && i < enemyTypes.length; i++) { - expect(playerTypes[i]).toBe(enemyTypes[i]); - } + expect(player.getTypes()).toEqual(enemy.getTypes()); }); it("should copy in-battle overridden stats", async () => { diff --git a/test/moves/u_turn.test.ts b/test/moves/u_turn.test.ts index 68bb7fe05c1..4ceb6865be0 100644 --- a/test/moves/u_turn.test.ts +++ b/test/moves/u_turn.test.ts @@ -65,7 +65,7 @@ describe("Moves - U-turn", () => { // assert const playerPkm = game.scene.getPlayerPokemon()!; expect(playerPkm.hp).not.toEqual(playerPkm.getMaxHp()); - expect(game.scene.getEnemyPokemon()!.battleData.abilityRevealed).toBe(true); // proxy for asserting ability activated + expect(game.scene.getEnemyPokemon()!.waveData.abilityRevealed).toBe(true); // proxy for asserting ability activated expect(playerPkm.species.speciesId).toEqual(Species.RAICHU); expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); }, 20000); @@ -84,7 +84,7 @@ describe("Moves - U-turn", () => { const playerPkm = game.scene.getPlayerPokemon()!; expect(playerPkm.status?.effect).toEqual(StatusEffect.POISON); expect(playerPkm.species.speciesId).toEqual(Species.RAICHU); - expect(game.scene.getEnemyPokemon()!.battleData.abilityRevealed).toBe(true); // proxy for asserting ability activated + expect(game.scene.getEnemyPokemon()!.waveData.abilityRevealed).toBe(true); // proxy for asserting ability activated expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); }, 20000); diff --git a/test/settingMenu/rebinding_setting.test.ts b/test/settingMenu/rebinding_setting.test.ts index 45c647248c4..20a1fe51484 100644 --- a/test/settingMenu/rebinding_setting.test.ts +++ b/test/settingMenu/rebinding_setting.test.ts @@ -2,7 +2,7 @@ import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty"; import { getKeyWithKeycode, getKeyWithSettingName } from "#app/configs/inputs/configHandler"; import type { InterfaceConfig } from "#app/inputs-controller"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; -import { deepCopy } from "#app/utils/common"; +import { deepCopy } from "#app/utils/data"; import { Button } from "#enums/buttons"; import { Device } from "#enums/devices"; import { InGameManip } from "#test/settingMenu/helpers/inGameManip"; diff --git a/test/testUtils/gameManager.ts b/test/testUtils/gameManager.ts index 874d8f786b8..8dd90decf1a 100644 --- a/test/testUtils/gameManager.ts +++ b/test/testUtils/gameManager.ts @@ -310,8 +310,8 @@ export default class GameManager { /** * Emulate a player's target selection after a move is chosen, usually called automatically by {@linkcode MoveHelper.select}. * Will trigger during the next {@linkcode SelectTargetPhase} - * @param {BattlerIndex} targetIndex The index of the attack target, or `undefined` for multi-target attacks - * @param movePosition The index of the move in the pokemon's moveset array + * @param targetIndex - The {@linkcode BattlerIndex} of the attack target, or `undefined` for multi-target attacks + * @param movePosition - The 0-indexed position of the move in the pokemon's moveset array */ selectTarget(movePosition: number, targetIndex?: BattlerIndex) { this.onNextPrompt( @@ -347,7 +347,7 @@ export default class GameManager { } } - /** Emulate selecting a modifier (item) */ + /** Queue up button presses to skip taking an item on the next {@linkcode SelectModifierPhase} */ doSelectModifier() { this.onNextPrompt( "SelectModifierPhase", @@ -380,8 +380,9 @@ export default class GameManager { /** * Forces the next enemy selecting a move to use the given move in its moveset against the * given target (if applicable). - * @param moveId {@linkcode Moves} the move the enemy will use - * @param target {@linkcode BattlerIndex} the target on which the enemy will use the given move + * @param moveId - The {@linkcode Moves | move} the enemy will use + * @param target - The {@linkcode BattlerIndex} of the target against which the enemy will use the given move; + * will use normal target selection priorities if omitted. */ async forceEnemyMove(moveId: Moves, target?: BattlerIndex) { // Wait for the next EnemyCommandPhase to start @@ -421,7 +422,10 @@ export default class GameManager { await this.phaseInterceptor.to(CommandPhase); } - /** Emulate selecting a modifier (item) and transition to the next upcoming {@linkcode CommandPhase} */ + /** + * Queue up button presses to skip taking an item on the next {@linkcode SelectModifierPhase}, + * and then transition to the next {@linkcode CommandPhase}. + */ async toNextWave() { this.doSelectModifier(); @@ -439,8 +443,8 @@ export default class GameManager { } /** - * Checks if the player has won the battle. - * @returns True if the player has won, otherwise false. + * Check if the player has won the battle. + * @returns whether the player has won the battle (all opposing Pokemon have been fainted) */ isVictory() { return this.scene.currentBattle.enemyParty.every(pokemon => pokemon.isFainted()); @@ -449,7 +453,7 @@ export default class GameManager { /** * Checks if the current phase matches the target phase. * @param phaseTarget - The target phase. - * @returns True if the current phase matches the target phase, otherwise false. + * @returns Whether the current phase matches the target phase */ isCurrentPhase(phaseTarget) { const targetName = typeof phaseTarget === "string" ? phaseTarget : phaseTarget.name; @@ -458,8 +462,8 @@ export default class GameManager { /** * Checks if the current mode matches the target mode. - * @param mode - The target mode. - * @returns True if the current mode matches the target mode, otherwise false. + * @param mode - The target {@linkcode UiMode} to check. + * @returns Whether the current mode matches the target mode. */ isCurrentMode(mode: UiMode) { return this.scene.ui?.getMode() === mode; @@ -499,7 +503,7 @@ export default class GameManager { /** * Faints a player or enemy pokemon instantly by setting their HP to 0. - * @param pokemon The player/enemy pokemon being fainted + * @param pokemon - The player/enemy pokemon being fainted * @returns A promise that resolves once the fainted pokemon's FaintPhase finishes running. */ async killPokemon(pokemon: PlayerPokemon | EnemyPokemon) { @@ -512,8 +516,9 @@ export default class GameManager { } /** - * Command an in-battle switch to another Pokemon via the main battle menu. - * @param pokemonIndex the index of the pokemon in your party to switch to + * Command an in-battle switch to another {@linkcode Pokemon} via the main battle menu. + * @param pokemonIndex - The 0-indexed position of the party pokemon to switch to. + * Should never be called with 0 as that will select the currently active pokemon and freeze. */ doSwitchPokemon(pokemonIndex: number) { this.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { @@ -526,7 +531,7 @@ export default class GameManager { /** * Revive pokemon, currently players only. - * @param pokemonIndex the index of the pokemon in your party to revive + * @param pokemonIndex - The 0-indexed position of the pokemon in your party to revive */ doRevivePokemon(pokemonIndex: number) { const party = this.scene.getPlayerParty(); @@ -536,13 +541,12 @@ export default class GameManager { } /** - * Select a pokemon from the party menu. Only really handles the basic cases - * of the party UI, where you just need to navigate to a party slot and press - * Action twice - navigating any menus that come up after you select a party member - * is not supported. - * @param slot the index of the pokemon in your party to switch to - * @param inPhase Which phase to expect the selection to occur in. Typically - * non-command switch actions happen in SwitchPhase. + * Select a pokemon from the party menu during the given phase. + * Only really handles the basic case of "navigate to party slot and press Action twice" - + * any menus that come up afterwards are ignored and must be handled separately by the caller. + * @param slot - The 0-indexed position of the pokemon in your party to switch to + * @param inPhase - Which phase to expect the selection to occur in. Defaults to `SwitchPhase` + * (which is where the majority of non-command switch operations occur). */ doSelectPartyPokemon(slot: number, inPhase = "SwitchPhase") { this.onNextPrompt(inPhase, UiMode.PARTY, () => { @@ -557,7 +561,7 @@ export default class GameManager { /** * Select the BALL option from the command menu, then press Action; in the BALL * menu, select a pokéball type and press Action again to throw it. - * @param ballIndex the index of the pokeball to throw + * @param ballIndex - The index of the pokeball to throw */ public doThrowPokeball(ballIndex: number) { this.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { @@ -575,8 +579,8 @@ export default class GameManager { /** * Intercepts `TurnStartPhase` and mocks {@linkcode TurnStartPhase.getSpeedOrder}'s return value. * Used to manually modify Pokemon turn order. - * Note: This *DOES NOT* account for priority, only speed. - * @param {BattlerIndex[]} order The turn order to set + * Note: This *DOES NOT* account for priority. + * @param order - The turn order to set as an array of {@linkcode BattlerIndex}es. * @example * ```ts * await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2]); diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index 0f3d75c6268..269cf65ea56 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -103,6 +103,17 @@ export class MoveHelper extends GameManagerHelper { vi.spyOn(Overrides, "STATUS_ACTIVATION_OVERRIDE", "get").mockReturnValue(null); } + /** + * Forces the Confusion status to activate on the next move by temporarily mocking {@linkcode Overrides.CONFUSION_ACTIVATION_OVERRIDE}, + * advancing to the next `MovePhase`, and then resetting the override to `null` + * @param activated - `true` to force the Pokemon to hit themself, `false` to forcibly disable it + */ + public async forceConfusionActivation(activated: boolean): Promise { + vi.spyOn(Overrides, "CONFUSION_ACTIVATION_OVERRIDE", "get").mockReturnValue(activated); + await this.game.phaseInterceptor.to("MovePhase"); + vi.spyOn(Overrides, "CONFUSION_ACTIVATION_OVERRIDE", "get").mockReturnValue(null); + } + /** * Changes a pokemon's moveset to the given move(s). * Used when the normal moveset override can't be used (such as when it's necessary to check or update properties of the moveset). diff --git a/test/testUtils/helpers/overridesHelper.ts b/test/testUtils/helpers/overridesHelper.ts index 6aa382ef59a..acc2e4d5cd0 100644 --- a/test/testUtils/helpers/overridesHelper.ts +++ b/test/testUtils/helpers/overridesHelper.ts @@ -522,6 +522,21 @@ export class OverridesHelper extends GameManagerHelper { return this; } + /** + * Override confusion to always or never activate + * @param activate - `true` to force activation, `false` to force no activation, `null` to disable the override + * @returns `this` + */ + public confusionActivation(activate: boolean | null): this { + vi.spyOn(Overrides, "CONFUSION_ACTIVATION_OVERRIDE", "get").mockReturnValue(activate); + if (activate !== null) { + this.log(`Confusion forced to ${activate ? "always" : "never"} activate!`); + } else { + this.log("Confusion activation override disabled!"); + } + return this; + } + /** * Override the encounter chance for a mystery encounter. * @param percentage - The encounter chance in % diff --git a/test/testUtils/helpers/reloadHelper.ts b/test/testUtils/helpers/reloadHelper.ts index 4867a146aaf..4a9e5356968 100644 --- a/test/testUtils/helpers/reloadHelper.ts +++ b/test/testUtils/helpers/reloadHelper.ts @@ -46,6 +46,16 @@ export class ReloadHelper extends GameManagerHelper { scene.unshiftPhase(titlePhase); this.game.endPhase(); // End the currently ongoing battle + // remove all persistent mods before loading + // TODO: Look into why these aren't removed before load + if (this.game.scene.modifiers.length) { + console.log( + "Removing %d modifiers from scene on load...", + this.game.scene.modifiers.length, + this.game.scene.modifiers, + ); + this.game.scene.modifiers = []; + } titlePhase.loadSaveSlot(-1); // Load the desired session data this.game.phaseInterceptor.shift(); // Loading the save slot also ended TitlePhase, clean it up @@ -73,6 +83,6 @@ export class ReloadHelper extends GameManagerHelper { } await this.game.phaseInterceptor.to(CommandPhase); - console.log("==================[New Turn]=================="); + console.log("==================[New Turn (Reloaded)]=================="); } } diff --git a/test/utils.test.ts b/test/utils.test.ts index 33f7906738c..fe93bdd6970 100644 --- a/test/utils.test.ts +++ b/test/utils.test.ts @@ -1,5 +1,6 @@ import { expect, describe, it, beforeAll } from "vitest"; import { randomString, padInt } from "#app/utils/common"; +import { deepMergeSpriteData } from "#app/utils/data"; import Phaser from "phaser"; @@ -9,6 +10,7 @@ describe("utils", () => { type: Phaser.HEADLESS, }); }); + describe("randomString", () => { it("should return a string of the specified length", () => { const str = randomString(10); @@ -46,4 +48,33 @@ describe("utils", () => { expect(result).toBe("1"); }); }); + describe("deepMergeSpriteData", () => { + it("should merge two objects' common properties", () => { + const dest = { a: 1, b: 2 }; + const source = { a: 3, b: 3, e: 4 }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 3, b: 3 }); + }); + + it("does nothing for identical objects", () => { + const dest = { a: 1, b: 2 }; + const source = { a: 1, b: 2 }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 1, b: 2 }); + }); + + it("should preserve missing and mistyped properties", () => { + const dest = { a: 1, c: 56, d: "test" }; + const source = { a: "apple", b: 3, d: "no hablo español" }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 1, c: 56, d: "no hablo español" }); + }); + + it("should copy arrays verbatim even with mismatches", () => { + const dest = { a: 1, b: [{ d: 1 }, { d: 2 }, { d: 3 }] }; + const source = { a: 3, b: [{ c: [4, 5] }, { p: [7, 8] }], e: 4 }; + deepMergeSpriteData(dest, source); + expect(dest).toEqual({ a: 3, b: [{ c: [4, 5] }, { p: [7, 8] }] }); + }); + }); });