From 0eabfd56e3d47d3e4593da19d5c2b04f9442f434 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Thu, 25 Apr 2024 21:56:44 -0400 Subject: [PATCH 01/63] Fix shiny Bidoof back sprite showing as epic variant --- public/images/pokemon/226.png | Bin 4222 -> 12526 bytes public/images/pokemon/variant/back/399.json | 2 +- src/ui/menu-ui-handler.ts | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/images/pokemon/226.png b/public/images/pokemon/226.png index d5ba51364770f284c40daf90a775eb0af9e4e9db..f8e761c1ec488deff31ac26fc78e6828da3833e1 100644 GIT binary patch literal 12526 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 C>g4_a literal 4222 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 UILiko@&Et;07*qoM6N<$f?x3V=l}o! diff --git a/public/images/pokemon/variant/back/399.json b/public/images/pokemon/variant/back/399.json index c43ef7ed7ee..c96f47de375 100644 --- a/public/images/pokemon/variant/back/399.json +++ b/public/images/pokemon/variant/back/399.json @@ -1,5 +1,5 @@ { - "0": { + "2": { "634a31": "101e42", "c58c42": "617dda", "9c6331": "3e5ca8", diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index fb11e19a71a..8444d8aa577 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -96,7 +96,7 @@ export default class MenuUiHandler extends MessageUiHandler { ui.revertMode(); ui.showText(message, null, () => { const config: OptionSelectConfig = { - options: new Array(3).fill(null).map((_, i) => i).filter(slotFilter).map(i => { + options: new Array(5).fill(null).map((_, i) => i).filter(slotFilter).map(i => { return { label: i18next.t('menuUiHandler:slot', {slotNumber: i+1}), handler: () => { @@ -135,7 +135,7 @@ export default class MenuUiHandler extends MessageUiHandler { handler: () => { const dataSlots: integer[] = []; Promise.all( - new Array(3).fill(null).map((_, i) => { + new Array(5).fill(null).map((_, i) => { const slotId = i; return this.scene.gameData.getSession(slotId).then(data => { if (data) From d4c265443fa122b952d46786992b1d4c5dc0088e Mon Sep 17 00:00:00 2001 From: InfernoVulpix Date: Thu, 25 Apr 2024 20:51:04 -0400 Subject: [PATCH 02/63] Assurance effect implementation Theoretically implemented for all use cases but only tested for regular damage so far. --- src/data/ability.ts | 3 +++ src/data/arena-tag.ts | 2 ++ src/data/move.ts | 6 +++++- src/field/pokemon.ts | 2 ++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index bae2744ae0a..e75649a42da 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -453,6 +453,7 @@ export class PostDefendDisguiseAbAttr extends PostDefendAbAttr { if (!recoilDamage) return false; pokemon.damageAndUpdate(recoilDamage, HitResult.OTHER); + pokemon.turnData.damageTaken += recoilDamage; pokemon.scene.queueMessage(getPokemonMessage(pokemon, '\'s disguise was busted!')); return true; } @@ -733,6 +734,7 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr { applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean { if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) { attacker.damageAndUpdate(Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER); + attacker.turnData.damageTaken += Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)); return true; } @@ -2070,6 +2072,7 @@ export class PostFaintContactDamageAbAttr extends PostFaintAbAttr { return false; } attacker.damageAndUpdate(Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER); + attacker.turnData.damageTaken += Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)); return true; } diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index c2430db950b..669971da37c 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -252,6 +252,7 @@ class SpikesTag extends ArenaTrapTag { pokemon.scene.queueMessage(getPokemonMessage(pokemon, ' is hurt\nby the spikes!')); pokemon.damageAndUpdate(damage, HitResult.OTHER); + pokemon.turnData.damageTaken += damage; return true; } } @@ -382,6 +383,7 @@ class StealthRockTag extends ArenaTrapTag { const damage = Math.ceil(pokemon.getMaxHp() * damageHpRatio); pokemon.scene.queueMessage(`Pointed stones dug into\n${pokemon.name}!`); pokemon.damageAndUpdate(damage, HitResult.OTHER); + pokemon.turnData.damageTaken += damage; } return false; diff --git a/src/data/move.ts b/src/data/move.ts index b4604f7fc63..02b627ca960 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -695,6 +695,7 @@ export class RecoilAttr extends MoveEffectAttr { user.damageAndUpdate(recoilDamage, HitResult.OTHER, false, true, true); user.scene.queueMessage(getPokemonMessage(user, ' is hit\nwith recoil!')); + user.turnData.damageTaken += recoilDamage; return true; } @@ -714,6 +715,7 @@ export class SacrificialAttr extends MoveEffectAttr { return false; user.damageAndUpdate(user.hp, HitResult.OTHER, false, true, true); + user.turnData.damageTaken += user.hp; return true; } @@ -884,6 +886,7 @@ export class HitHealAttr extends MoveEffectAttr { !reverseDrain ? healAmount : healAmount * -1, !reverseDrain ? getPokemonMessage(target, ` had its\nenergy drained!`) : undefined, false, true)); + if (reverseDrain) user.turnData.damageTaken += healAmount; return true; } @@ -2392,6 +2395,7 @@ const crashDamageFunc = (user: Pokemon, move: Move) => { user.damageAndUpdate(Math.floor(user.getMaxHp() / 2), HitResult.OTHER, false, true); user.scene.queueMessage(getPokemonMessage(user, ' kept going\nand crashed!')); + user.turnData.damageTaken += Math.floor(user.getMaxHp() / 2); return true; }; @@ -4741,7 +4745,7 @@ export function initMoves() { new AttackMove(Moves.PAYBACK, Type.DARK, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 4) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getLastXMoves(1).find(m => m.turn === target.scene.currentBattle.turn) || user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.BALL ? 2 : 1), new AttackMove(Moves.ASSURANCE, Type.DARK, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 4) - .partial(), + .attr(MovePowerMultiplierAttr, (user, target, move) => target.turnData.damageTaken > 0 ? 2 : 1), new StatusMove(Moves.EMBARGO, Type.DARK, 100, 15, -1, 0, 4) .unimplemented(), new AttackMove(Moves.FLING, Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 4) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index fae667a7138..e4db82f3dc5 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1390,6 +1390,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const oneHitKo = result === HitResult.ONE_HIT_KO; damage.value = this.damageAndUpdate(damage.value, result as DamageResult, isCritical, oneHitKo, oneHitKo); + this.turnData.damageTaken += damage.value; if (isCritical) this.scene.queueMessage('A critical hit!'); this.scene.setPhaseQueueSplice(); @@ -2976,6 +2977,7 @@ export class PokemonTurnData { public hitCount: integer; public hitsLeft: integer; public damageDealt: integer = 0; + public damageTaken: integer = 0; public attacksReceived: AttackMoveResult[] = []; } From 587197dac441337ed74d5d4ee6f6fc6b3b0e86a8 Mon Sep 17 00:00:00 2001 From: InfernoVulpix Date: Fri, 26 Apr 2024 00:57:31 -0400 Subject: [PATCH 03/63] Fixed entry hazard crash Having Spikes or Stealth Rock on the field when a new wild battle starts no longer crashes the game. --- src/data/arena-tag.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 669971da37c..bb76a9880b3 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -252,7 +252,7 @@ class SpikesTag extends ArenaTrapTag { pokemon.scene.queueMessage(getPokemonMessage(pokemon, ' is hurt\nby the spikes!')); pokemon.damageAndUpdate(damage, HitResult.OTHER); - pokemon.turnData.damageTaken += damage; + if (pokemon.turnData) pokemon.turnData.damageTaken += damage; return true; } } @@ -383,7 +383,7 @@ class StealthRockTag extends ArenaTrapTag { const damage = Math.ceil(pokemon.getMaxHp() * damageHpRatio); pokemon.scene.queueMessage(`Pointed stones dug into\n${pokemon.name}!`); pokemon.damageAndUpdate(damage, HitResult.OTHER); - pokemon.turnData.damageTaken += damage; + if (pokemon.turnData) pokemon.turnData.damageTaken += damage; } return false; From b863ab88a708b1494d3417a46595b14c08dad741 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 26 Apr 2024 01:18:08 -0400 Subject: [PATCH 04/63] Fix some minor superficial bugs --- src/ui/party-ui-handler.ts | 12 ++++++------ src/ui/pokemon-info-container.ts | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index c6f32869f8b..919b9606700 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -646,7 +646,11 @@ export default class PartyUiHandler extends MessageUiHandler { const option = this.options[this.options.length - (o + 1)]; let altText = false; let optionName: string; - if ((this.partyUiMode !== PartyUiMode.REMEMBER_MOVE_MODIFIER && (this.partyUiMode !== PartyUiMode.MODIFIER_TRANSFER || this.transferMode)) || option === PartyOption.CANCEL) { + if (option === PartyOption.SCROLL_UP) + optionName = '↑'; + else if (option === PartyOption.SCROLL_DOWN) + optionName = '↓'; + else if ((this.partyUiMode !== PartyUiMode.REMEMBER_MOVE_MODIFIER && (this.partyUiMode !== PartyUiMode.MODIFIER_TRANSFER || this.transferMode)) || option === PartyOption.CANCEL) { switch (option) { case PartyOption.MOVE_1: case PartyOption.MOVE_2: @@ -662,11 +666,7 @@ export default class PartyUiHandler extends MessageUiHandler { optionName = Utils.toReadableString(PartyOption[option]); break; } - } else if (option === PartyOption.SCROLL_UP) - optionName = '↑'; - else if (option === PartyOption.SCROLL_DOWN) - optionName = '↓'; - else if (this.partyUiMode === PartyUiMode.REMEMBER_MOVE_MODIFIER) { + } else if (this.partyUiMode === PartyUiMode.REMEMBER_MOVE_MODIFIER) { const move = learnableLevelMoves[option]; optionName = allMoves[move].name; altText = !pokemon.getSpeciesForm().getLevelMoves().find(plm => plm[1] === move); diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index c11552c72bb..2b2dcb07e34 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -200,6 +200,8 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { x: this.initialX, onComplete: () => { this.setVisible(false); + this.pokemonShinyIcon.off('pointerover'); + this.pokemonShinyIcon.off('pointerout'); (this.scene as BattleScene).ui.hideTooltip(); resolve(); } From ef552c7ffd8693a461abd6441da08948d1cddb7f Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 26 Apr 2024 02:00:58 -0400 Subject: [PATCH 05/63] Fix crash with certain animated variant sprites --- public/exp-sprites.json | 189 +++++++++++++++++++++++++++++++++++++++- src/battle-scene.ts | 20 ++++- src/field/pokemon.ts | 3 +- src/system/settings.ts | 4 +- update_exp_sprites.ps1 | 2 +- 5 files changed, 212 insertions(+), 6 deletions(-) diff --git a/public/exp-sprites.json b/public/exp-sprites.json index 12ada72f917..4e5a51aa94d 100644 --- a/public/exp-sprites.json +++ b/public/exp-sprites.json @@ -1069,6 +1069,8 @@ "971", "972", "972", + "973", + "973", "974", "974", "975", @@ -2201,6 +2203,8 @@ "971b", "972b", "972b", + "973b", + "973b", "974b", "974b", "975b", @@ -3331,6 +3335,8 @@ "971sb", "972sb", "972sb", + "973sb", + "973sb", "974sb", "974sb", "975sb", @@ -4468,6 +4474,8 @@ "971s", "972s", "972s", + "973s", + "973s", "974s", "974s", "975s", @@ -4527,5 +4535,184 @@ "999s-roaming", "999s-roaming", "999s", - "999s" + "999s", + "1000", + "1001", + "1004", + "181-mega", + "212-mega", + "282-mega_2", + "282-mega_2", + "282-mega_3", + "282-mega_3", + "303-mega", + "334-mega", + "334-mega_2", + "334-mega_2", + "376-mega", + "384-mega", + "384-mega_2", + "384-mega_2", + "4263", + "4264", + "428-mega", + "445-mega", + "448-mega", + "475-mega_2", + "475-mega_2", + "475-mega_3", + "475-mega_3", + "6549", + "6570", + "6571", + "6705", + "6706_2", + "6706_2", + "6706_3", + "6706_3", + "700", + "704", + "705_2", + "705_2", + "705_3", + "705_3", + "706", + "708", + "709", + "710", + "711", + "720-unbound", + "720", + "755", + "756", + "789", + "791_1", + "791_1", + "802", + "856", + "857_2", + "857_2", + "857_3", + "857_3", + "858", + "872", + "873", + "877-hangry", + "877", + "885", + "886", + "887", + "890_2", + "890_2", + "890_3", + "890_3", + "900", + "919", + "920", + "924", + "925-four", + "925-four_2", + "925-four_2", + "925-four_3", + "925-four_3", + "925-three", + "925-three_2", + "925-three_2", + "925-three_3", + "925-three_3", + "94-mega_1", + "94-mega_1", + "94-mega_2", + "94-mega_2", + "94-mega_3", + "94-mega_3", + "962", + "967", + "973", + "987", + "988", + "988_3", + "988_3", + "999", + "999_1", + "999_1", + "1000b", + "1001b", + "1004b", + "181b-mega", + "212b-mega", + "282b-mega", + "303b-mega", + "334b-mega", + "376b-mega", + "384b-mega", + "4263b", + "4264b", + "428b-mega", + "445b-mega", + "448b-mega", + "475b-mega_2", + "475b-mega_2", + "475b-mega_3", + "475b-mega_3", + "6549b", + "6570b", + "6571b", + "6705b", + "6706_2b", + "6706_2b", + "6706_3b", + "6706_3b", + "700b", + "704b", + "705b", + "706b", + "708b", + "709b", + "710b", + "711b", + "720b-unbound", + "720b", + "755b", + "756b", + "789b", + "791b", + "802b", + "856b", + "857_2b", + "857_2b", + "857_3b", + "857_3b", + "858b", + "872b", + "873b", + "877b-hangry", + "877b", + "885b", + "886b", + "887b", + "890b", + "900b", + "919b", + "920b", + "924b", + "925b-four", + "925b-four_2", + "925b-four_2", + "925b-four_3", + "925b-four_3", + "925b-three", + "925b-three_2", + "925b-three_2", + "925b-three_3", + "925b-three_3", + "94b-mega", + "962b", + "962_3b", + "962_3b", + "967b", + "973b", + "987b", + "988b", + "999b" ] diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 532ff22b65b..4ea2503ec55 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -272,7 +272,7 @@ export default class BattleScene extends SceneBase { populateAnims(); - await this.cachedFetch('./images/pokemon/variant/_masterlist.json').then(res => res.json()).then(v => Object.keys(v).forEach(k => variantData[k] = v[k])); + await this.initVariantData(); } create() { @@ -513,6 +513,21 @@ export default class BattleScene extends SceneBase { }); } + async initVariantData(): Promise { + Object.keys(variantData).forEach(key => delete variantData[key]); + await this.cachedFetch('./images/pokemon/variant/_masterlist.json').then(res => res.json()) + .then(v => { + Object.keys(v).forEach(k => variantData[k] = v[k]); + if (this.experimentalSprites) { + const expTree = variantData['exp']; + Object.keys(expTree).forEach(ek => { + variantData[ek] = expTree[ek]; + }); + } + Promise.resolve(); + }); + } + cachedFetch(url: string, init?: RequestInit): Promise { const manifest = this.game['manifest']; if (manifest) { @@ -817,6 +832,9 @@ export default class BattleScene extends SceneBase { } if (clearScene) { + // Reload variant data in case sprite set has changed + this.initVariantData(); + this.fadeOutBgm(250, false); this.tweens.add({ targets: [ this.uiContainer ], diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index e4db82f3dc5..a8fceb76b29 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -312,12 +312,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const battleSpritePath = this.getBattleSpriteAtlasPath(back, ignoreOverride).replace('variant/', '').replace(/_[1-3]$/, ''); let variantSet: VariantSet; let config = variantData; + const useExpSprite = this.scene.experimentalSprites && this.scene.hasExpSprite(this.getBattleSpriteKey(back, ignoreOverride)); battleSpritePath.split('/').map(p => config ? config = config[p] : null); variantSet = config as VariantSet; if (variantSet && variantSet[this.variant] === 1) { if (variantColorCache.hasOwnProperty(key)) return resolve(); - this.scene.cachedFetch(`./images/pokemon/variant/${battleSpritePath}.json`).then(res => res.json()).then(c => { + this.scene.cachedFetch(`./images/pokemon/variant/${useExpSprite ? 'exp/' : ''}${battleSpritePath}.json`).then(res => res.json()).then(c => { variantColorCache[key] = c; resolve(); }); diff --git a/src/system/settings.ts b/src/system/settings.ts index a8dc4afd83e..df4f894c949 100644 --- a/src/system/settings.ts +++ b/src/system/settings.ts @@ -48,7 +48,7 @@ export const settingOptions: SettingOptions = { [Setting.Window_Type]: new Array(5).fill(null).map((_, i) => (i + 1).toString()), [Setting.Tutorials]: [ 'Off', 'On' ], [Setting.Enable_Retries]: [ 'Off', 'On' ], - [Setting.Sprite_Set]: [ 'Consistent', 'Prioritize Animation' ], + [Setting.Sprite_Set]: [ 'Consistent', 'Mixed Animated' ], [Setting.Move_Animations]: [ 'Off', 'On' ], [Setting.Show_Stats_on_Level_Up]: [ 'Off', 'On' ], [Setting.EXP_Gains_Speed]: [ 'Normal', 'Fast', 'Faster', 'Skip' ], @@ -83,7 +83,7 @@ export const settingDefaults: SettingDefaults = { [Setting.Vibration]: 0 }; -export const reloadSettings: Setting[] = [ Setting.UI_Theme, Setting.Language ]; +export const reloadSettings: Setting[] = [ Setting.UI_Theme, Setting.Language, Setting.Sprite_Set ]; export function setSetting(scene: BattleScene, setting: Setting, value: integer): boolean { switch (setting) { diff --git a/update_exp_sprites.ps1 b/update_exp_sprites.ps1 index 936a6779714..ed80566b459 100644 --- a/update_exp_sprites.ps1 +++ b/update_exp_sprites.ps1 @@ -21,4 +21,4 @@ Get-ChildItem -Path '.\public\images\pokemon' -Recurse -Directory | Where-Object } } -$keys | ConvertTo-Json | Out-File -encoding ASCII .\public\exp_sprites.json \ No newline at end of file +$keys | ConvertTo-Json | Out-File -encoding ASCII .\public\exp-sprites.json \ No newline at end of file From 46227d65f2bbc10240703941dbccce16f0d91148 Mon Sep 17 00:00:00 2001 From: Xavion3 Date: Fri, 26 Apr 2024 21:44:25 +1000 Subject: [PATCH 06/63] Fix mind blown/explosion moves --- src/data/move.ts | 28 ++++++++++++---------------- src/field/pokemon.ts | 1 - 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 02b627ca960..c963b951c42 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -738,7 +738,7 @@ export class HalfSacrificialAttr extends MoveEffectAttr { const cancelled = new Utils.BooleanHolder(false); applyAbAttrs(BlockNonDirectDamageAbAttr, user, cancelled); - if (!cancelled){ + if (!cancelled.value){ user.damageAndUpdate(Math.ceil(user.getMaxHp()/2), HitResult.OTHER, false, true, true); } return true; @@ -751,16 +751,6 @@ export class HalfSacrificialAttr extends MoveEffectAttr { } } -export class ExplosiveAttr extends MoveEffectAttr { - getCondition(): MoveCondition | MoveConditionFunc { - return (user, target, move) =>{ - const cancelled = new Utils.BooleanHolder(false); - user.scene.getField(true).map(p=>applyAbAttrs(FieldPreventExplosiveMovesAbAttr, p, cancelled)); - return !cancelled.value; - } - } -} - export enum MultiHitType { _2, _2_TO_5, @@ -3623,6 +3613,12 @@ const failOnBossCondition: MoveConditionFunc = (user, target, move) => !target.i const failOnMaxCondition: MoveConditionFunc = (user, target, move) => !target.isMax(); +const failIfDampCondition: MoveConditionFunc = (user, target, move) => { + const cancelled = new Utils.BooleanHolder(false); + user.scene.getField(true).map(p=>applyAbAttrs(FieldPreventExplosiveMovesAbAttr, p, cancelled)); + return !cancelled.value; +} + export type MoveAttrFilter = (attr: MoveAttr) => boolean; function applyMoveAttrsInternal(attrFilter: MoveAttrFilter, user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise { @@ -4038,9 +4034,9 @@ export function initMoves() { .attr(CopyMoveAttr) .ignoresVirtual(), new AttackMove(Moves.SELF_DESTRUCT, Type.NORMAL, MoveCategory.PHYSICAL, 200, 100, 5, -1, 0, 1) - .attr(ExplosiveAttr) .attr(SacrificialAttr) .makesContact(false) + .condition(failIfDampCondition) .target(MoveTarget.ALL_NEAR_OTHERS), new AttackMove(Moves.EGG_BOMB, Type.NORMAL, MoveCategory.PHYSICAL, 100, 75, 10, -1, 0, 1) .makesContact(false) @@ -4129,7 +4125,7 @@ export function initMoves() { new AttackMove(Moves.CRABHAMMER, Type.WATER, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 1) .attr(HighCritAttr), new AttackMove(Moves.EXPLOSION, Type.NORMAL, MoveCategory.PHYSICAL, 250, 100, 5, -1, 0, 1) - .attr(ExplosiveAttr) + .condition(failIfDampCondition) .attr(SacrificialAttr) .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), @@ -5662,7 +5658,7 @@ export function initMoves() { .partial(), /* End Unused */ new AttackMove(Moves.MIND_BLOWN, Type.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 7) - .attr(ExplosiveAttr) + .condition(failIfDampCondition) .attr(HalfSacrificialAttr) .target(MoveTarget.ALL_NEAR_OTHERS), new AttackMove(Moves.PLASMA_FISTS, Type.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 15, -1, 0, 7) @@ -5899,10 +5895,10 @@ export function initMoves() { .attr(StatusEffectAttr, StatusEffect.POISON) .partial(), new AttackMove(Moves.MISTY_EXPLOSION, Type.FAIRY, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 8) - .attr(ExplosiveAttr) .attr(SacrificialAttr) .target(MoveTarget.ALL_NEAR_OTHERS) - .attr(MovePowerMultiplierAttr, (user, target, move) => user.scene.arena.getTerrainType() === TerrainType.MISTY && user.isGrounded() ? 1.5 : 1), + .attr(MovePowerMultiplierAttr, (user, target, move) => user.scene.arena.getTerrainType() === TerrainType.MISTY && user.isGrounded() ? 1.5 : 1) + .condition(failIfDampCondition), new AttackMove(Moves.GRASSY_GLIDE, Type.GRASS, MoveCategory.PHYSICAL, 55, 100, 20, -1, 0, 8) .partial(), new AttackMove(Moves.RISING_VOLTAGE, Type.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, -1, 0, 8) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index a8fceb76b29..cb2c3bccc7b 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1230,7 +1230,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (types.find(t => move.isTypeImmune(t))) typeMultiplier.value = 0; - applyMoveAttrs(ExplosiveAttr, source, null, battlerMove.getMove()); switch (moveCategory) { case MoveCategory.PHYSICAL: case MoveCategory.SPECIAL: From cc216d902a92f9f7c486dbdf3843b4bd0fb41d6a Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 26 Apr 2024 12:29:09 +0200 Subject: [PATCH 07/63] =?UTF-8?q?Added=20captial=20letter=20to=20"=C5=92uf?= =?UTF-8?q?",=20as=20it=20is=20in=20the=20games=20+=20"Options"=20to=20"Pa?= =?UTF-8?q?ram=C3=A8tres",=20more=20suitable=20translation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/fr/menu-ui-handler.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/locales/fr/menu-ui-handler.ts b/src/locales/fr/menu-ui-handler.ts index c632e6f7306..684a8cc07ba 100644 --- a/src/locales/fr/menu-ui-handler.ts +++ b/src/locales/fr/menu-ui-handler.ts @@ -1,12 +1,12 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const menuUiHandler: SimpleTranslationEntries = { - "GAME_SETTINGS": 'Options', + "GAME_SETTINGS": 'Paramètres', "ACHIEVEMENTS": "Succès", "STATS": "Statistiques", "VOUCHERS": "Coupons", - "EGG_LIST": "Liste des œufs", - "EGG_GACHA": "Gacha-œufs", + "EGG_LIST": "Liste des Œufs", + "EGG_GACHA": "Gacha-Œufs", "MANAGE_DATA": "Mes données", "COMMUNITY": "Communauté", "RETURN_TO_TITLE": "Écran titre", @@ -20,4 +20,4 @@ export const menuUiHandler: SimpleTranslationEntries = { "exportData": "Exporter données", "cancel": "Retour", "losingProgressionWarning": "Vous allez perdre votre progression depuis le début du combat. Continuer ?" -} as const; \ No newline at end of file +} as const; From 86daca7fb68cd008376377e61e793d8f80718ac0 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 26 Apr 2024 12:43:32 +0200 Subject: [PATCH 08/63] Update move.ts --- src/locales/fr/move.ts | 472 ++++++++++++++++++++--------------------- 1 file changed, 236 insertions(+), 236 deletions(-) diff --git a/src/locales/fr/move.ts b/src/locales/fr/move.ts index 02bd2d06837..867fbd4f489 100644 --- a/src/locales/fr/move.ts +++ b/src/locales/fr/move.ts @@ -2,20 +2,20 @@ import { MoveTranslationEntries } from "#app/plugins/i18n"; export const move: MoveTranslationEntries = { "pound": { - name: "Écras'Face", + name: "Écras’Face", effect: "Le lanceur écrase la cible avec l’un de ses membres, tels qu’une de ses pattes avant ou sa longue queue." }, "karateChop": { name: "Poing Karaté", - effect: "L'ennemi est tranché violemment. Taux de critique élevé." + effect: "L’ennemi est tranché violemment. Taux de critique élevé." }, "doubleSlap": { name: "Torgnoles", - effect: "Gifle rapidement l'ennemi de deux à cinq fois d'affilée." + effect: "Gifle rapidement l’ennemi de deux à cinq fois d’affilée." }, "cometPunch": { name: "Poing Comète", - effect: "Une tornade de coups de poing qui frappe de deux à cinq fois d'affilée." + effect: "Une tornade de coups de poing qui frappe de deux à cinq fois d’affilée." }, "megaPunch": { name: "Ultimapoing", @@ -51,7 +51,7 @@ export const move: MoveTranslationEntries = { }, "razorWind": { name: "Coupe-Vent", - effect: "Attaque en deux tours. Des lames de vent frappent l'ennemi au second tour. Taux de critique élevé." + effect: "Attaque en deux tours. Des lames de vent frappent l’ennemi au second tour. Taux de critique élevé." }, "swordsDance": { name: "Danse Lames", @@ -103,22 +103,22 @@ export const move: MoveTranslationEntries = { }, "jumpKick": { name: "Pied Sauté", - effect: "Le lanceur s'envole pour décocher un coup de pied sauté. S'il échoue, le lanceur se blesse." + effect: "Le lanceur s’envole pour décocher un coup de pied sauté. S’il échoue, le lanceur se blesse." }, "rollingKick": { name: "Mawashi Geri", - effect: "Le lanceur effectue un coup de pied tournoyant et extrêmement rapide. Peut apeurer l'ennemi (30% de chances)." + effect: "Le lanceur effectue un coup de pied tournoyant et extrêmement rapide. Peut apeurer l’ennemi (30% de chances)." }, "sandAttack": { name: "Jet de Sable", effect: "Lance du sable au visage de la cible pour baisser sa Précision." }, "headbutt": { - name: "Coup d'Boule", + name: "Coup d’Boule", effect: "Le lanceur donne un coup de tête à la cible qui peut aussi l’apeurer (30% de chances)." }, "hornAttack": { - name: "Koud'Korne", + name: "Koud’Korne", effect: "Frappe la cible d’un coup de corne pointue pour infliger des dégâts." }, "furyAttack": { @@ -126,7 +126,7 @@ export const move: MoveTranslationEntries = { effect: "Frappe la cible deux à cinq fois d’affilée avec un membre pointu tel qu’un bec ou une corne." }, "hornDrill": { - name: "Empal'Korne", + name: "Empal’Korne", effect: "Un coup de corne en vrille qui empale la cible, la mettant K.O. sur le coup si elle est touchée." }, "tackle": { @@ -163,14 +163,14 @@ export const move: MoveTranslationEntries = { }, "twineedle": { name: "Double Dard", - effect: "Un double coup de dard qui transperce l'ennemi deux fois d'affilée. Peut aussi l'empoisonner (36% de chances)." + effect: "Un double coup de dard qui transperce l’ennemi deux fois d’affilée. Peut aussi l’empoisonner (36% de chances)." }, "pinMissile": { name: "Dard-Nuée", effect: "Envoie une rafale de dards. Peut toucher de deux à cinq fois." }, "leer": { - name: "Groz'Yeux", + name: "Groz’Yeux", effect: "Le lanceur fait les gros yeux à la cible pour l’intimider et baisser sa Défense." }, "bite": { @@ -242,7 +242,7 @@ export const move: MoveTranslationEntries = { effect: "Un étrange rayon frappe la cible, ce qui peut aussi la rendre confuse." }, "bubbleBeam": { - name: "Bulles d'O", + name: "Bulles d’O", effect: "Des bulles sont envoyées avec puissance sur la cible, ce qui peut aussi baisser sa Vitesse." }, "auroraBeam": { @@ -263,7 +263,7 @@ export const move: MoveTranslationEntries = { }, "submission": { name: "Sacrifice", - effect: "Le lanceur agrippe l'ennemi et l'écrase au sol. Blesse aussi légèrement le lanceur." + effect: "Le lanceur agrippe l’ennemi et l’écrase au sol. Blesse aussi légèrement le lanceur." }, "lowKick": { name: "Balayage", @@ -298,7 +298,7 @@ export const move: MoveTranslationEntries = { effect: "Le corps du lanceur se développe. Augmente l’Attaque et l’Attaque Spéciale." }, "razorLeaf": { - name: "Tranch'Herbe", + name: "Tranch’Herbe", effect: "Des feuilles aiguisées comme des rasoirs entaillent la cible. Taux de critiques élevé." }, "solarBeam": { @@ -395,7 +395,7 @@ export const move: MoveTranslationEntries = { }, "rage": { name: "Frénésie", - effect: "Une fois activée, cette capacité augmente l'Attaque du lanceur à mesure que celui-ci subit des attaques." + effect: "Une fois activée, cette capacité augmente l’Attaque du lanceur à mesure que celui-ci subit des attaques." }, "teleport": { name: "Téléport", @@ -442,7 +442,7 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur se recroqueville dans sa carapace, ce qui augmente sa Défense." }, "defenseCurl": { - name: "Boul'Armure", + name: "Boul’Armure", effect: "Le lanceur s’enroule pour cacher ses points faibles, ce qui augmente sa Défense." }, "barrier": { @@ -475,7 +475,7 @@ export const move: MoveTranslationEntries = { }, "mirrorMove": { name: "Mimique", - effect: "Le lanceur riposte à l'attaque de l'ennemi avec la même attaque." + effect: "Le lanceur riposte à l’attaque de l’ennemi avec la même attaque." }, "selfDestruct": { name: "Destruction", @@ -483,7 +483,7 @@ export const move: MoveTranslationEntries = { }, "eggBomb": { name: "Bombe Oeuf", - effect: "De toutes ses forces, le lanceur jette un gros œuf sur l'ennemi pour lui infliger des dégâts." + effect: "De toutes ses forces, le lanceur jette un gros œuf sur l’ennemi pour lui infliger des dégâts." }, "lick": { name: "Léchouille", @@ -498,8 +498,8 @@ export const move: MoveTranslationEntries = { effect: "Des détritus toxiques sont projetés sur la cible, ce qui peut aussi l’empoisonner (30% de chances)." }, "boneClub": { - name: "Massd'Os", - effect: "Le lanceur frappe l'ennemi à grands coups d'os. Peut aussi l'apeurer (10% de chances)." + name: "Massd’Os", + effect: "Le lanceur frappe l’ennemi à grands coups d’os. Peut aussi l’apeurer (10% de chances)." }, "fireBlast": { name: "Déflagration", @@ -511,15 +511,15 @@ export const move: MoveTranslationEntries = { }, "clamp": { name: "Claquoir", - effect: "Le lanceur piège l'ennemi dans sa dure coquille et l'écrase pendant quatre à cinq tours." + effect: "Le lanceur piège l’ennemi dans sa dure coquille et l’écrase pendant quatre à cinq tours." }, "swift": { name: "Météores", effect: "Le lanceur envoie des rayons d’étoiles qui touchent toujours la cible." }, "skullBash": { - name: "Coud'Krâne", - effect: "Le lanceur baisse la tête pour augmenter sa Défense au premier tour et percuter l'ennemi au second." + name: "Coud’Krâne", + effect: "Le lanceur baisse la tête pour augmenter sa Défense au premier tour et percuter l’ennemi au second." }, "spikeCannon": { name: "Picanon", @@ -527,7 +527,7 @@ export const move: MoveTranslationEntries = { }, "constrict": { name: "Constriction", - effect: "De longs tentacules ou lianes attaquent l'ennemi. Peut aussi baisser sa Vitesse." + effect: "De longs tentacules ou lianes attaquent l’ennemi. Peut aussi baisser sa Vitesse." }, "amnesia": { name: "Amnésie", @@ -535,7 +535,7 @@ export const move: MoveTranslationEntries = { }, "kinesis": { name: "Télékinésie", - effect: "Le lanceur distrait l'ennemi en pliant une cuiller, ce qui baisse sa Précision." + effect: "Le lanceur distrait l’ennemi en pliant une cuiller, ce qui baisse sa Précision." }, "softBoiled": { name: "E-Coque", @@ -559,7 +559,7 @@ export const move: MoveTranslationEntries = { }, "barrage": { name: "Pilonnage", - effect: "Projette de deux à cinq grosses boules sur l'ennemi." + effect: "Projette de deux à cinq grosses boules sur l’ennemi." }, "leechLife": { name: "Vampirisme", @@ -567,7 +567,7 @@ export const move: MoveTranslationEntries = { }, "lovelyKiss": { name: "Grobisou", - effect: "Le lanceur fait un bisou à l'ennemi en prenant une mine effrayante. Endort l'ennemi." + effect: "Le lanceur fait un bisou à l’ennemi en prenant une mine effrayante. Endort l’ennemi." }, "skyAttack": { name: "Piqué", @@ -579,11 +579,11 @@ export const move: MoveTranslationEntries = { }, "bubble": { name: "Écume", - effect: "Des bulles frappent l'ennemi. Peut réduire sa Vitesse." + effect: "Des bulles frappent l’ennemi. Peut réduire sa Vitesse." }, "dizzyPunch": { name: "Uppercut", - effect: "Un enchaînement de coups de poing cadencés frappe l'ennemi. Peut aussi le rendre confus." + effect: "Un enchaînement de coups de poing cadencés frappe l’ennemi. Peut aussi le rendre confus." }, "spore": { name: "Spore", @@ -591,11 +591,11 @@ export const move: MoveTranslationEntries = { }, "flash": { name: "Flash", - effect: "Explosion lumineuse qui fait baisser la Précision de l'ennemi." + effect: "Explosion lumineuse qui fait baisser la Précision de l’ennemi." }, "psywave": { name: "Vague Psy", - effect: "Une étrange onde d'énergie chaude frappe l'ennemi. Cette attaque est d'intensité variable." + effect: "Une étrange onde d’énergie chaude frappe l’ennemi. Cette attaque est d’intensité variable." }, "splash": { name: "Trempette", @@ -619,7 +619,7 @@ export const move: MoveTranslationEntries = { }, "bonemerang": { name: "Osmerang", - effect: "Le lanceur projette son os comme un boomerang. Cette attaque frappe à l'aller et au retour." + effect: "Le lanceur projette son os comme un boomerang. Cette attaque frappe à l’aller et au retour." }, "rest": { name: "Repos", @@ -631,7 +631,7 @@ export const move: MoveTranslationEntries = { }, "hyperFang": { name: "Croc de Mort", - effect: "Le lanceur mord l'ennemi à l'aide de ses incisives aiguisées. Peut aussi l'apeurer (10% de chances)." + effect: "Le lanceur mord l’ennemi à l’aide de ses incisives aiguisées. Peut aussi l’apeurer (10% de chances)." }, "sharpen": { name: "Affûtage", @@ -675,11 +675,11 @@ export const move: MoveTranslationEntries = { }, "spiderWeb": { name: "Toile", - effect: "Le lanceur enserre l'ennemi à l'aide d'une fine soie gluante pour l'empêcher de fuir le combat." + effect: "Le lanceur enserre l’ennemi à l’aide d’une fine soie gluante pour l’empêcher de fuir le combat." }, "mindReader": { name: "Lire-Esprit", - effect: "Le lanceur analyse les mouvements de l'ennemi pour être sûr de toucher au coup suivant." + effect: "Le lanceur analyse les mouvements de l’ennemi pour être sûr de toucher au coup suivant." }, "nightmare": { name: "Cauchemar", @@ -707,7 +707,7 @@ export const move: MoveTranslationEntries = { }, "aeroblast": { name: "Aéroblast", - effect: "Le lanceur projette une tornade sur l'ennemi pour infliger des dégâts. Taux de critique élevé." + effect: "Le lanceur projette une tornade sur l’ennemi pour infliger des dégâts. Taux de critique élevé." }, "cottonSpore": { name: "Spore Coton", @@ -739,7 +739,7 @@ export const move: MoveTranslationEntries = { }, "feintAttack": { name: "Feinte", - effect: "Le lanceur s'approche l'air de rien avant de frapper par surprise. N'échoue jamais." + effect: "Le lanceur s’approche l’air de rien avant de frapper par surprise. N’échoue jamais." }, "sweetKiss": { name: "Doux Baiser", @@ -754,12 +754,12 @@ export const move: MoveTranslationEntries = { effect: "Des détritus toxiques sont projetés sur la cible, ce qui peut aussi l’empoisonner (30% de chances)." }, "mudSlap": { - name: "Coud'Boue", + name: "Coud’Boue", effect: "Le lanceur envoie de la boue au visage de la cible pour infliger des dégâts et baisser sa Précision." }, "octazooka": { name: "Octazooka", - effect: "Le lanceur attaque en projetant de l'encre au visage de l'ennemi. Peut aussi baisser sa Précision." + effect: "Le lanceur attaque en projetant de l’encre au visage de l’ennemi. Peut aussi baisser sa Précision." }, "spikes": { name: "Picots", @@ -771,7 +771,7 @@ export const move: MoveTranslationEntries = { }, "foresight": { name: "Clairvoyance", - effect: "Permet de toucher un Pokémon Spectre avec n'importe quelle capacité ou de toucher un ennemi insaisissable." + effect: "Permet de toucher un Pokémon Spectre avec n’importe quelle capacité ou de toucher un ennemi insaisissable." }, "destinyBond": { name: "Lien du Destin", @@ -842,7 +842,7 @@ export const move: MoveTranslationEntries = { effect: "Un coup de faux ou de griffe dont la puissance augmente quand il touche plusieurs fois d’affilée." }, "steelWing": { - name: "Ailes d'Acier", + name: "Ailes d’Acier", effect: "Le lanceur frappe la cible avec des ailes d’acier, ce qui peut aussi augmenter la Défense du lanceur." }, "meanLook": { @@ -883,11 +883,11 @@ export const move: MoveTranslationEntries = { }, "sacredFire": { name: "Feu Sacré", - effect: "Le lanceur génère un feu mystique d'une intensité redoutable pour attaquer l'ennemi. Peut aussi le brûler (50% de chances)." + effect: "Le lanceur génère un feu mystique d’une intensité redoutable pour attaquer l’ennemi. Peut aussi le brûler (50% de chances)." }, "magnitude": { name: "Ampleur", - effect: "Provoque un tremblement de terre d'intensité variable qui affecte tous les Pokémon alentour. L'efficacité varie." + effect: "Provoque un tremblement de terre d’intensité variable qui affecte tous les Pokémon alentour. L’efficacité varie." }, "dynamicPunch": { name: "Dynamo-Poing", @@ -911,7 +911,7 @@ export const move: MoveTranslationEntries = { }, "pursuit": { name: "Poursuite", - effect: "Une attaque qui inflige deux fois plus de dégâts à un ennemi qui s'apprête à être remplacé." + effect: "Une attaque qui inflige deux fois plus de dégâts à un ennemi qui s’apprête à être remplacé." }, "rapidSpin": { name: "Tour Rapide", @@ -931,7 +931,7 @@ export const move: MoveTranslationEntries = { }, "vitalThrow": { name: "Corps Perdu", - effect: "Le lanceur porte son coup en dernier. En échange, cette capacité n'échoue jamais." + effect: "Le lanceur porte son coup en dernier. En échange, cette capacité n’échoue jamais." }, "morningSun": { name: "Aurore", @@ -947,7 +947,7 @@ export const move: MoveTranslationEntries = { }, "hiddenPower": { name: "Puissance Cachée", - effect: "Attaque dont le type dépend du Pokémon qui l'utilise." + effect: "Attaque dont le type dépend du Pokémon qui l’utilise." }, "crossChop": { name: "Coup Croix", @@ -986,7 +986,7 @@ export const move: MoveTranslationEntries = { effect: "Une attaque préhistorique qui peut augmenter toutes les stats du lanceur d’un seul coup." }, "shadowBall": { - name: "Ball'Ombre", + name: "Ball’Ombre", effect: "Le lanceur projette une grande ombre sur la cible qui peut aussi faire baisser la Défense Spéciale de celle-ci." }, "futureSight": { @@ -1078,7 +1078,7 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur provoque la cible, ce qui oblige celle-ci à n’utiliser que des capacités qui infligent des dégâts pendant trois tours." }, "helpingHand": { - name: "Coup d'Main", + name: "Coup d’Main", effect: "Le lanceur donne un coup de main à son allié, qui voit la puissance de ses capacités augmenter." }, "trick": { @@ -1095,7 +1095,7 @@ export const move: MoveTranslationEntries = { }, "assist": { name: "Assistance", - effect: "Le lanceur se dépêche d'utiliser une capacité au hasard parmi celles des Pokémon de l'équipe." + effect: "Le lanceur se dépêche d’utiliser une capacité au hasard parmi celles des Pokémon de l’équipe." }, "ingrain": { name: "Racines", @@ -1115,7 +1115,7 @@ export const move: MoveTranslationEntries = { }, "revenge": { name: "Vendetta", - effect: "Une attaque deux fois plus puissante si le lanceur a été blessé par l'ennemi durant ce tour." + effect: "Une attaque deux fois plus puissante si le lanceur a été blessé par l’ennemi durant ce tour." }, "brickBreak": { name: "Casse-Brique", @@ -1147,19 +1147,19 @@ export const move: MoveTranslationEntries = { }, "refresh": { name: "Régénération", - effect: "Le lanceur se repose pour guérir d'un empoisonnement, d'une brûlure ou d'une paralysie." + effect: "Le lanceur se repose pour guérir d’un empoisonnement, d’une brûlure ou d’une paralysie." }, "grudge": { name: "Rancune", - effect: "Si le lanceur est mis K.O., sa rancune épuise les PP de la capacité utilisée par l'ennemi pour le mettre K.O." + effect: "Si le lanceur est mis K.O., sa rancune épuise les PP de la capacité utilisée par l’ennemi pour le mettre K.O." }, "snatch": { name: "Saisie", - effect: "Lorsqu'une capacité de soin ou de changement de stats est utilisée, le lanceur vole ses effets." + effect: "Lorsqu’une capacité de soin ou de changement de stats est utilisée, le lanceur vole ses effets." }, "secretPower": { name: "Force Cachée", - effect: "Les effets de cette attaque varient en fonction de l'environnement." + effect: "Les effets de cette attaque varient en fonction de l’environnement." }, "dive": { name: "Plongée", @@ -1171,7 +1171,7 @@ export const move: MoveTranslationEntries = { }, "camouflage": { name: "Camouflage", - effect: "Modifie le type du lanceur en fonction du terrain, comme une berge, une grotte, l'herbe, etc." + effect: "Modifie le type du lanceur en fonction du terrain, comme une berge, une grotte, l’herbe, etc." }, "tailGlow": { name: "Lumi-Queue", @@ -1179,11 +1179,11 @@ export const move: MoveTranslationEntries = { }, "lusterPurge": { name: "Lumi-Éclat", - effect: "Le lanceur libère un éclair lumineux. Peut aussi baisser la Défense Spéciale de l'ennemi." + effect: "Le lanceur libère un éclair lumineux. Peut aussi baisser la Défense Spéciale de l’ennemi." }, "mistBall": { - name: "Ball'Brume", - effect: "Une bulle de brume inflige des dégâts à l'ennemi. Peut aussi réduire son Attaque Spéciale." + name: "Ball’Brume", + effect: "Une bulle de brume inflige des dégâts à l’ennemi. Peut aussi réduire son Attaque Spéciale." }, "featherDance": { name: "Danse Plumes", @@ -1202,12 +1202,12 @@ export const move: MoveTranslationEntries = { effect: "Asperge les alentours de boue. Affaiblit les capacités Électrik pendant cinq tours." }, "iceBall": { - name: "Ball'Glace", - effect: "Frappe l'ennemi pendant cinq tours. L'attaque gagne en puissance à chaque coup." + name: "Ball’Glace", + effect: "Frappe l’ennemi pendant cinq tours. L’attaque gagne en puissance à chaque coup." }, "needleArm": { name: "Poing Dard", - effect: "Le lanceur attaque en fouettant l'ennemi de ses bras épineux. Peut aussi l'apeurer (30% de chances)." + effect: "Le lanceur attaque en fouettant l’ennemi de ses bras épineux. Peut aussi l’apeurer (30% de chances)." }, "slackOff": { name: "Paresse", @@ -1242,19 +1242,19 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur attaque la cible en poussant un cri terrifiant qui peut aussi l’apeurer (30% de chances)." }, "weatherBall": { - name: "Ball'Météo", + name: "Ball’Météo", effect: "Une capacité dont la puissance et le type varient en fonction du temps qu’il fait." }, "aromatherapy": { name: "Aromathérapie", - effect: "Le lanceur libère un parfum apaisant qui guérit tous les problèmes de statut de l'équipe." + effect: "Le lanceur libère un parfum apaisant qui guérit tous les problèmes de statut de l’équipe." }, "fakeTears": { name: "Croco Larme", effect: "Le lanceur fait semblant de pleurer pour troubler la cible et beaucoup baisser sa Défense Spéciale." }, "airCutter": { - name: "Tranch'Air", + name: "Tranch’Air", effect: "Le lanceur appelle des vents tranchants qui lacèrent la cible. Taux de critiques élevé." }, "overheat": { @@ -1263,7 +1263,7 @@ export const move: MoveTranslationEntries = { }, "odorSleuth": { name: "Flair", - effect: "Permet de toucher un Pokémon Spectre avec n'importe quelle capacité ou de toucher un ennemi insaisissable." + effect: "Permet de toucher un Pokémon Spectre avec n’importe quelle capacité ou de toucher un ennemi insaisissable." }, "rockTomb": { name: "Tomberoche", @@ -1271,15 +1271,15 @@ export const move: MoveTranslationEntries = { }, "silverWind": { name: "Vent Argenté", - effect: "Vent qui projette des écailles poudreuses sur l'ennemi. Peut aussi monter toutes les stats du lanceur." + effect: "Vent qui projette des écailles poudreuses sur l’ennemi. Peut aussi monter toutes les stats du lanceur." }, "metalSound": { name: "Strido-Son", effect: "Un cri horrible tel un crissement métallique qui réduit beaucoup la Défense Spéciale de la cible." }, "grassWhistle": { - name: "Siffl'Herbe", - effect: "Le lanceur joue une douce mélodie qui plonge l'ennemi dans un profond sommeil." + name: "Siffl’Herbe", + effect: "Le lanceur joue une douce mélodie qui plonge l’ennemi dans un profond sommeil." }, "tickle": { name: "Chatouille", @@ -1295,7 +1295,7 @@ export const move: MoveTranslationEntries = { }, "signalBeam": { name: "Rayon Signal", - effect: "Le lanceur projette un rayon de lumière sinistre. Peut aussi rendre l'ennemi confus." + effect: "Le lanceur projette un rayon de lumière sinistre. Peut aussi rendre l’ennemi confus." }, "shadowPunch": { name: "Poing Ombre", @@ -1383,7 +1383,7 @@ export const move: MoveTranslationEntries = { }, "waterSport": { name: "Tourniquet", - effect: "Asperge d'eau les alentours. Affaiblit les capacités de type Feu pendant cinq tours." + effect: "Asperge d’eau les alentours. Affaiblit les capacités de type Feu pendant cinq tours." }, "calmMind": { name: "Plénitude", @@ -1411,11 +1411,11 @@ export const move: MoveTranslationEntries = { }, "doomDesire": { name: "Voeu Destructeur", - effect: "Le lanceur génère une sphère lumineuse qu'il projette sur l'ennemi deux tours plus tard." + effect: "Le lanceur génère une sphère lumineuse qu’il projette sur l’ennemi deux tours plus tard." }, "psychoBoost": { name: "Psycho-Boost", - effect: "Attaque l'ennemi à pleine puissance. Le contrecoup baisse beaucoup l'Attaque Spéciale du lanceur." + effect: "Attaque l’ennemi à pleine puissance. Le contrecoup baisse beaucoup l’Attaque Spéciale du lanceur." }, "roost": { name: "Atterrissage", @@ -1427,11 +1427,11 @@ export const move: MoveTranslationEntries = { }, "miracleEye": { name: "Oeil Miracle", - effect: "Permet de toucher un Pokémon Ténèbres avec les capacités de type Psy ou de toucher un ennemi ayant beaucoup d'esquive." + effect: "Permet de toucher un Pokémon Ténèbres avec les capacités de type Psy ou de toucher un ennemi ayant beaucoup d’esquive." }, "wakeUpSlap": { name: "Réveil Forcé", - effect: "Cette attaque inflige d'importants dégâts à un Pokémon endormi. Mais elle le réveille également." + effect: "Cette attaque inflige d’importants dégâts à un Pokémon endormi. Mais elle le réveille également." }, "hammerArm": { name: "Marto-Poing", @@ -1451,7 +1451,7 @@ export const move: MoveTranslationEntries = { }, "naturalGift": { name: "Don Naturel", - effect: "Avant d'attaquer, le lanceur rassemble ses forces grâce à sa Baie. Elle détermine le type et la puissance de l'attaque." + effect: "Avant d’attaquer, le lanceur rassemble ses forces grâce à sa Baie. Elle détermine le type et la puissance de l’attaque." }, "feint": { name: "Ruse", @@ -1491,7 +1491,7 @@ export const move: MoveTranslationEntries = { }, "embargo": { name: "Embargo", - effect: "Empêche la cible d'utiliser un objet tenu et son Dresseur d'utiliser un objet sur lui pendant cinq tours." + effect: "Empêche la cible d’utiliser un objet tenu et son Dresseur d’utiliser un objet sur lui pendant cinq tours." }, "fling": { name: "Dégommage", @@ -1499,7 +1499,7 @@ export const move: MoveTranslationEntries = { }, "psychoShift": { name: "Échange Psy", - effect: "Le lanceur transfère ses problèmes de statut à l'ennemi grâce à son pouvoir de suggestion." + effect: "Le lanceur transfère ses problèmes de statut à l’ennemi grâce à son pouvoir de suggestion." }, "trumpCard": { name: "Atout", @@ -1507,11 +1507,11 @@ export const move: MoveTranslationEntries = { }, "healBlock": { name: "Anti-Soin", - effect: "Le lanceur empêche l'ennemi de récupérer des PV à l'aide de capacités, talents ou objets tenus, pendant cinq tours." + effect: "Le lanceur empêche l’ennemi de récupérer des PV à l’aide de capacités, talents ou objets tenus, pendant cinq tours." }, "wringOut": { name: "Essorage", - effect: "Le lanceur essore l'ennemi. Plus l'ennemi a de PV, plus cette attaque est puissante." + effect: "Le lanceur essore l’ennemi. Plus l’ennemi a de PV, plus cette attaque est puissante." }, "powerTrick": { name: "Astuce Force", @@ -1523,11 +1523,11 @@ export const move: MoveTranslationEntries = { }, "luckyChant": { name: "Air Veinard", - effect: "Le lanceur envoie une incantation vers le ciel et protège l'équipe des coups critiques pendant cinq tours." + effect: "Le lanceur envoie une incantation vers le ciel et protège l’équipe des coups critiques pendant cinq tours." }, "meFirst": { - name: "Moi d'Abord", - effect: "Le lanceur vole la capacité prévue par l'ennemi et l'utilise en faisant plus de dégâts. Il doit frapper en premier." + name: "Moi d’Abord", + effect: "Le lanceur vole la capacité prévue par l’ennemi et l’utilise en faisant plus de dégâts. Il doit frapper en premier." }, "copycat": { name: "Photocopie", @@ -1543,7 +1543,7 @@ export const move: MoveTranslationEntries = { }, "punishment": { name: "Punition", - effect: "Plus l'ennemi a utilisé d'augmentations de stats et plus cette capacité est puissante." + effect: "Plus l’ennemi a utilisé d’augmentations de stats et plus cette capacité est puissante." }, "lastResort": { name: "Dernier Recours", @@ -1610,7 +1610,7 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur déclenche un déluge de grosses graines à la coque solide sur la cible." }, "airSlash": { - name: "Lame d'Air", + name: "Lame d’Air", effect: "Le lanceur attaque avec une lame d’air capable de fendre le ciel, ce qui peut aussi apeurer la cible (30% de chances)." }, "xScissor": { @@ -1703,19 +1703,19 @@ export const move: MoveTranslationEntries = { }, "mudBomb": { name: "Boue-Bombe", - effect: "Le lanceur attaque à l'aide d'une boule de boue solidifiée. Peut aussi baisser la Précision de l'ennemi." + effect: "Le lanceur attaque à l’aide d’une boule de boue solidifiée. Peut aussi baisser la Précision de l’ennemi." }, "psychoCut": { name: "Coupe Psycho", effect: "Le lanceur entaille la cible grâce à des lames faites d’énergie psychique. Taux de critiques élevé." }, "zenHeadbutt": { - name: "Psykoud'Boul", + name: "Psykoud’Boul", effect: "Le lanceur concentre sa volonté et donne un coup de tête à la cible, ce qui peut aussi apeurer celle-ci (20% de chances)." }, "mirrorShot": { name: "Miroi-Tir", - effect: "Le corps poli du lanceur libère un éclair d'énergie. Peut aussi baisser la Précision de l'ennemi." + effect: "Le corps poli du lanceur libère un éclair d’énergie. Peut aussi baisser la Précision de l’ennemi." }, "flashCannon": { name: "Luminocanon", @@ -1723,7 +1723,7 @@ export const move: MoveTranslationEntries = { }, "rockClimb": { name: "Escalade", - effect: "Le lanceur se jette violemment sur l'ennemi. Peut aussi le rendre confus." + effect: "Le lanceur se jette violemment sur l’ennemi. Peut aussi le rendre confus." }, "defog": { name: "Anti-Brume", @@ -1738,7 +1738,7 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur invoque des comètes. Le contrecoup réduit beaucoup son Attaque Spéciale." }, "discharge": { - name: "Coup d'Jus", + name: "Coup d’Jus", effect: "Un flamboiement d’électricité frappe tous les Pokémon autour du lanceur. Peut aussi les paralyser (30% de chances)." }, "lavaPlume": { @@ -1755,7 +1755,7 @@ export const move: MoveTranslationEntries = { }, "rockWrecker": { name: "Roc-Boulet", - effect: "Le lanceur attaque en projetant un gros rocher sur l'ennemi. Il doit se reposer au tour suivant." + effect: "Le lanceur attaque en projetant un gros rocher sur l’ennemi. Il doit se reposer au tour suivant." }, "crossPoison": { name: "Poison Croix", @@ -1771,7 +1771,7 @@ export const move: MoveTranslationEntries = { }, "magnetBomb": { name: "Bombe Aimant", - effect: "Le lanceur projette des bombes d'acier qui collent à l'ennemi. N'échoue jamais." + effect: "Le lanceur projette des bombes d’acier qui collent à l’ennemi. N’échoue jamais." }, "stoneEdge": { name: "Lame de Roc", @@ -1779,7 +1779,7 @@ export const move: MoveTranslationEntries = { }, "captivate": { name: "Séduction", - effect: "Si l'ennemi est de sexe opposé au lanceur, il est séduit et son Attaque Spéciale baisse beaucoup." + effect: "Si l’ennemi est de sexe opposé au lanceur, il est séduit et son Attaque Spéciale baisse beaucoup." }, "stealthRock": { name: "Piège de Roc", @@ -1791,7 +1791,7 @@ export const move: MoveTranslationEntries = { }, "chatter": { name: "Babil", - effect: "Attaque avec les ondes sonores assourdissantes qu'il émet en bavardant. Rend l'ennemi confus." + effect: "Attaque avec les ondes sonores assourdissantes qu’il émet en bavardant. Rend l’ennemi confus." }, "judgment": { name: "Jugement", @@ -1823,10 +1823,10 @@ export const move: MoveTranslationEntries = { }, "healOrder": { name: "Appel Soins", - effect: "Le lanceur appelle ses sous-fifres pour le soigner. Il récupère jusqu'à la moitié de ses PV max." + effect: "Le lanceur appelle ses sous-fifres pour le soigner. Il récupère jusqu’à la moitié de ses PV max." }, "headSmash": { - name: "Fracass'Tête", + name: "Fracass’Tête", effect: "Le lanceur assène un coup de tête désespéré, ce qui le blesse aussi très gravement." }, "doubleHit": { @@ -1847,7 +1847,7 @@ export const move: MoveTranslationEntries = { }, "crushGrip": { name: "Presse", - effect: "Une force puissante écrase l'ennemi. Plus il lui reste de PV et plus l'attaque est puissante." + effect: "Une force puissante écrase l’ennemi. Plus il lui reste de PV et plus l’attaque est puissante." }, "magmaStorm": { name: "Vortex Magma", @@ -1855,7 +1855,7 @@ export const move: MoveTranslationEntries = { }, "darkVoid": { name: "Trou Noir", - effect: "L'ennemi est plongé dans les ténèbres. Il tombe dans un profond sommeil." + effect: "L’ennemi est plongé dans les ténèbres. Il tombe dans un profond sommeil." }, "seedFlare": { name: "Fulmigraine", @@ -1907,7 +1907,7 @@ export const move: MoveTranslationEntries = { }, "telekinesis": { name: "Lévikinésie", - effect: "Un pouvoir qui fait flotter l'ennemi dans les airs. Pendant trois tours, il devient plus facile à atteindre." + effect: "Un pouvoir qui fait flotter l’ennemi dans les airs. Pendant trois tours, il devient plus facile à atteindre." }, "magicRoom": { name: "Zone Magique", @@ -1919,11 +1919,11 @@ export const move: MoveTranslationEntries = { }, "stormThrow": { name: "Yama Arashi", - effect: "Un coup très puissant dont l'effet est toujours critique." + effect: "Un coup très puissant dont l’effet est toujours critique." }, "flameBurst": { name: "Rebondifeu", - effect: "Quand l'attaque atteint sa cible, elle projette des flammes qui touchent tout ennemi situé à côté." + effect: "Quand l’attaque atteint sa cible, elle projette des flammes qui touchent tout ennemi situé à côté." }, "sludgeWave": { name: "Cradovague", @@ -1991,7 +1991,7 @@ export const move: MoveTranslationEntries = { }, "chipAway": { name: "Attrition", - effect: "Une attaque puissante quand l'ennemi baisse sa garde. Inflige des dégâts sans tenir compte des changements de stats." + effect: "Une attaque puissante quand l’ennemi baisse sa garde. Inflige des dégâts sans tenir compte des changements de stats." }, "clearSmog": { name: "Bain de Smog", @@ -2027,7 +2027,7 @@ export const move: MoveTranslationEntries = { }, "skyDrop": { name: "Chute Libre", - effect: "Le lanceur emmène l'ennemi dans les airs au premier tour et le lâche dans le vide au second. L'ennemi saisi ne peut pas attaquer." + effect: "Le lanceur emmène l’ennemi dans les airs au premier tour et le lâche dans le vide au second. L’ennemi saisi ne peut pas attaquer." }, "shiftGear": { name: "Chgt Vitesse", @@ -2063,14 +2063,14 @@ export const move: MoveTranslationEntries = { }, "bestow": { name: "Passe-Cadeau", - effect: "Si la cible ne tient pas d'objet, le lanceur lui donne l'objet qu'il tient." + effect: "Si la cible ne tient pas d’objet, le lanceur lui donne l’objet qu’il tient." }, "inferno": { - name: "Feu d'Enfer", + name: "Feu d’Enfer", effect: "La cible est entourée d’un torrent de flammes ardentes qui la brûlent." }, "waterPledge": { - name: "Aire d'Eau", + name: "Aire d’Eau", effect: "Une masse d’eau s’abat sur la cible. Si cette capacité est utilisée en même temps qu’Aire de Feu, la puissance augmente et un arc-en-ciel apparaît." }, "firePledge": { @@ -2078,12 +2078,12 @@ export const move: MoveTranslationEntries = { effect: "Une masse de feu s’abat sur la cible. Si cette capacité est utilisée en même temps qu’Aire d’Herbe, la puissance augmente et une mer de feu apparaît." }, "grassPledge": { - name: "Aire d'Herbe", + name: "Aire d’Herbe", effect: "Une masse végétale s’abat sur la cible. Si cette capacité est utilisée en même temps qu’Aire d’Eau, la puissance augmente et un marécage apparaît." }, "voltSwitch": { name: "Change Éclair", - effect: "Après son attaque, le lanceur revient à toute vitesse et change de place avec un Pokémon de l'équipe prêt au combat." + effect: "Après son attaque, le lanceur revient à toute vitesse et change de place avec un Pokémon de l’équipe prêt au combat." }, "struggleBug": { name: "Survinsecte", @@ -2119,11 +2119,11 @@ export const move: MoveTranslationEntries = { }, "dualChop": { name: "Double Baffe", - effect: "Le lanceur frappe l'ennemi deux fois d'affilée avec les parties les plus robustes de son corps." + effect: "Le lanceur frappe l’ennemi deux fois d’affilée avec les parties les plus robustes de son corps." }, "heartStamp": { name: "Crève-Coeur", - effect: "Déconcentre l'ennemi avec des mouvements mignons avant de le frapper violemment. Peut aussi l'apeurer (30% de chances)." + effect: "Déconcentre l’ennemi avec des mouvements mignons avant de le frapper violemment. Peut aussi l’apeurer (30% de chances)." }, "hornLeech": { name: "Encornebois", @@ -2143,11 +2143,11 @@ export const move: MoveTranslationEntries = { }, "leafTornado": { name: "Phytomixeur", - effect: "L'ennemi est pris dans un tourbillon de feuilles acérées. Peut aussi baisser sa Précision." + effect: "L’ennemi est pris dans un tourbillon de feuilles acérées. Peut aussi baisser sa Précision." }, "steamroller": { name: "Bulldoboule", - effect: "Le lanceur se roule en boule et écrase son ennemi. Peut aussi l'apeurer (30% de chances)." + effect: "Le lanceur se roule en boule et écrase son ennemi. Peut aussi l’apeurer (30% de chances)." }, "cottonGuard": { name: "Cotogarde", @@ -2171,19 +2171,19 @@ export const move: MoveTranslationEntries = { }, "headCharge": { name: "Peignée", - effect: "Le lanceur donne un coup avec sa tête couronnée d'une fière crinière. Blesse aussi légèrement le lanceur." + effect: "Le lanceur donne un coup avec sa tête couronnée d’une fière crinière. Blesse aussi légèrement le lanceur." }, "gearGrind": { name: "Lancécrou", - effect: "Le lanceur jette deux écrous d'acier qui frappent l'ennemi deux fois d'affilée." + effect: "Le lanceur jette deux écrous d’acier qui frappent l’ennemi deux fois d’affilée." }, "searingShot": { name: "Incendie", - effect: "Des boules de feu s'abattent sur tous les Pokémon autour du lanceur. Peut aussi les brûler (30% de chances)." + effect: "Des boules de feu s’abattent sur tous les Pokémon autour du lanceur. Peut aussi les brûler (30% de chances)." }, "technoBlast": { name: "Techno-Buster", - effect: "Le lanceur projette un rayon lumineux sur l'ennemi. Le type varie selon le Module que tient le lanceur." + effect: "Le lanceur projette un rayon lumineux sur l’ennemi. Le type varie selon le Module que tient le lanceur." }, "relicSong": { name: "Chant Antique", @@ -2191,19 +2191,19 @@ export const move: MoveTranslationEntries = { }, "secretSword": { name: "Lame Ointe", - effect: "L'ennemi est lacéré par une longue corne. Son pouvoir mystérieux inflige des dégâts physiques." + effect: "L’ennemi est lacéré par une longue corne. Son pouvoir mystérieux inflige des dégâts physiques." }, "glaciate": { name: "Ère Glaciaire", - effect: "Un souffle de vent qui congèle tout sur son passage s'abat sur l'ennemi. Réduit aussi sa Vitesse." + effect: "Un souffle de vent qui congèle tout sur son passage s’abat sur l’ennemi. Réduit aussi sa Vitesse." }, "boltStrike": { name: "Charge Foudre", - effect: "Le lanceur s'enveloppe d'une charge électrique surpuissante et se jette sur l'ennemi. Peut aussi le paralyser (20% de chances)." + effect: "Le lanceur s’enveloppe d’une charge électrique surpuissante et se jette sur l’ennemi. Peut aussi le paralyser (20% de chances)." }, "blueFlare": { name: "Flamme Bleue", - effect: "De magnifiques et redoutables flammes bleues fondent sur l'ennemi. Peut aussi le brûler (20% de chances)." + effect: "De magnifiques et redoutables flammes bleues fondent sur l’ennemi. Peut aussi le brûler (20% de chances)." }, "fieryDance": { name: "Danse du Feu", @@ -2211,11 +2211,11 @@ export const move: MoveTranslationEntries = { }, "freezeShock": { name: "Éclair Gelé", - effect: "Projette un bloc de glace électrifié sur l'ennemi au second tour. Peut aussi le paralyser (30% de chances)." + effect: "Projette un bloc de glace électrifié sur l’ennemi au second tour. Peut aussi le paralyser (30% de chances)." }, "iceBurn": { name: "Feu Glacé", - effect: "Au second tour, le lanceur projette un souffle de vent glacial dévastateur sur l'ennemi. Peut aussi le brûler (30% de chances)." + effect: "Au second tour, le lanceur projette un souffle de vent glacial dévastateur sur l’ennemi. Peut aussi le brûler (30% de chances)." }, "snarl": { name: "Aboiement", @@ -2231,11 +2231,11 @@ export const move: MoveTranslationEntries = { }, "fusionFlare": { name: "Flamme Croix", - effect: "Projette une boule de feu gigantesque. L'effet augmente sous l'influence d'Éclair Croix." + effect: "Projette une boule de feu gigantesque. L’effet augmente sous l’influence d’Éclair Croix." }, "fusionBolt": { name: "Éclair Croix", - effect: "Projette un orbe électrique gigantesque. L'effet augmente sous l'influence de Flamme Croix." + effect: "Projette un orbe électrique gigantesque. L’effet augmente sous l’influence de Flamme Croix." }, "flyingPress": { name: "Flying Press", @@ -2243,7 +2243,7 @@ export const move: MoveTranslationEntries = { }, "matBlock": { name: "Tatamigaeshi", - effect: "Retourne un tatami pour bloquer, comme avec un bouclier, les capacités visant le lanceur ou ses alliés. N'a pas d'effet sur les attaques de statut." + effect: "Retourne un tatami pour bloquer, comme avec un bouclier, les capacités visant le lanceur ou ses alliés. N’a pas d’effet sur les attaques de statut." }, "belch": { name: "Éructation", @@ -2251,7 +2251,7 @@ export const move: MoveTranslationEntries = { }, "rototiller": { name: "Fertilisation", - effect: "Laboure le sol et le rend plus fertile. Augmente l'Attaque et l'Attaque Spéciale des Pokémon de type Plante." + effect: "Laboure le sol et le rend plus fertile. Augmente l’Attaque et l’Attaque Spéciale des Pokémon de type Plante." }, "stickyWeb": { name: "Toile Gluante", @@ -2267,7 +2267,7 @@ export const move: MoveTranslationEntries = { }, "trickOrTreat": { name: "Halloween", - effect: "Insuffle à la cible l'esprit d'Halloween, et ajoute le type Spectre à ses types actuels." + effect: "Insuffle à la cible l’esprit d’Halloween, et ajoute le type Spectre à ses types actuels." }, "nobleRoar": { name: "Râle Mâle", @@ -2275,7 +2275,7 @@ export const move: MoveTranslationEntries = { }, "ionDeluge": { name: "Déluge Plasmique", - effect: "Diffuse des particules saturées d'électricité qui transforment les capacités de type Normal en capacités de type Électrik." + effect: "Diffuse des particules saturées d’électricité qui transforment les capacités de type Normal en capacités de type Électrik." }, "parabolicCharge": { name: "Parabocharge", @@ -2283,7 +2283,7 @@ export const move: MoveTranslationEntries = { }, "forestsCurse": { name: "Maléfice Sylvain", - effect: "La cible est charmée par l'esprit de la forêt. Le type Plante est ajouté à ses types actuels." + effect: "La cible est charmée par l’esprit de la forêt. Le type Plante est ajouté à ses types actuels." }, "petalBlizzard": { name: "Tempête Florale", @@ -2311,7 +2311,7 @@ export const move: MoveTranslationEntries = { }, "craftyShield": { name: "Vigilance", - effect: "Utilise une force mystérieuse pour protéger l'équipe des capacités de statut. Ne protège pas des autres capacités." + effect: "Utilise une force mystérieuse pour protéger l’équipe des capacités de statut. Ne protège pas des autres capacités." }, "flowerShield": { name: "Garde Florale", @@ -2327,7 +2327,7 @@ export const move: MoveTranslationEntries = { }, "electrify": { name: "Électrisation", - effect: "Si le lanceur attaque avant la cible, les capacités de celle-ci seront de type Électrik jusqu'à la fin du tour." + effect: "Si le lanceur attaque avant la cible, les capacités de celle-ci seront de type Électrik jusqu’à la fin du tour." }, "playRough": { name: "Câlinerie", @@ -2351,7 +2351,7 @@ export const move: MoveTranslationEntries = { }, "kingsShield": { name: "Bouclier Royal", - effect: "Prend une posture défensive pour bloquer les dégâts. Diminue beaucoup l'Attaque de tout Pokémon qui entre en contact avec le lanceur." + effect: "Prend une posture défensive pour bloquer les dégâts. Diminue beaucoup l’Attaque de tout Pokémon qui entre en contact avec le lanceur." }, "playNice": { name: "Camaraderie", @@ -2395,15 +2395,15 @@ export const move: MoveTranslationEntries = { }, "venomDrench": { name: "Piège de Venin", - effect: "Sécrète un liquide empoisonné. Diminue l'Attaque, l'Attaque Spéciale et la Vitesse de l'ennemi empoisonné." + effect: "Sécrète un liquide empoisonné. Diminue l’Attaque, l’Attaque Spéciale et la Vitesse de l’ennemi empoisonné." }, "powder": { name: "Nuée de Poudre", - effect: "L'ennemi est pris dans un nuage de poudre. S'il utilise une capacité de type Feu lors du même tour, le nuage explose et lui inflige des dégâts." + effect: "L’ennemi est pris dans un nuage de poudre. S’il utilise une capacité de type Feu lors du même tour, le nuage explose et lui inflige des dégâts." }, "geomancy": { name: "Géo-Contrôle", - effect: "Le lanceur absorbe de l'énergie au premier tour et augmente beaucoup son Attaque Spéciale, sa Défense Spéciale et sa Vitesse au second." + effect: "Le lanceur absorbe de l’énergie au premier tour et augmente beaucoup son Attaque Spéciale, sa Défense Spéciale et sa Vitesse au second." }, "magneticFlux": { name: "Magné-Contrôle", @@ -2447,11 +2447,11 @@ export const move: MoveTranslationEntries = { }, "powerUpPunch": { name: "Poing Boost", - effect: "À force de frapper, les poings deviennent plus durs. Augmente l'Attaque du lanceur si l'ennemi est touché." + effect: "À force de frapper, les poings deviennent plus durs. Augmente l’Attaque du lanceur si l’ennemi est touché." }, "oblivionWing": { - name: "Mort'Ailes", - effect: "Vole l'énergie de la cible. Rend au lanceur un nombre de PV supérieur ou égal à la moitié des dégâts infligés." + name: "Mort’Ailes", + effect: "Vole l’énergie de la cible. Rend au lanceur un nombre de PV supérieur ou égal à la moitié des dégâts infligés." }, "thousandArrows": { name: "Myria-Flèches", @@ -2459,15 +2459,15 @@ export const move: MoveTranslationEntries = { }, "thousandWaves": { name: "Myria-Vagues", - effect: "Attaque avec des vagues glissant au sol. L'ennemi pris dedans ne peut pas s'échapper." + effect: "Attaque avec des vagues glissant au sol. L’ennemi pris dedans ne peut pas s’échapper." }, "landsWrath": { name: "Force Chtonienne", - effect: "Utilise la puissance du sol et la concentre sur l'ennemi pour infliger des dégâts." + effect: "Utilise la puissance du sol et la concentre sur l’ennemi pour infliger des dégâts." }, "lightOfRuin": { name: "Lumière du Néant", - effect: "Utilise la puissance de la fleur Éternelle pour lancer un formidable rayon d'énergie. Blesse aussi gravement le lanceur." + effect: "Utilise la puissance de la fleur Éternelle pour lancer un formidable rayon d’énergie. Blesse aussi gravement le lanceur." }, "originPulse": { name: "Onde Originelle", @@ -2487,7 +2487,7 @@ export const move: MoveTranslationEntries = { }, "breakneckBlitzPhysical": { name: "Turbo-Charge Bulldozer", - effect: "Le Pokémon utilise la Force Z pour s'élancer à toute vitesse sur l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour s’élancer à toute vitesse sur l’adversaire. La puissance varie selon celle de la capacité originale." }, "breakneckBlitzSpecial": { name: "Turbo-Charge Bulldozer", @@ -2495,7 +2495,7 @@ export const move: MoveTranslationEntries = { }, "allOutPummelingPhysical": { name: "Combo Hyper-Furie", - effect: "Le Pokémon utilise la Force Z pour créer une boule d'énergie qu'il projette sur l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour créer une boule d’énergie qu’il projette sur l’adversaire. La puissance varie selon celle de la capacité originale." }, "allOutPummelingSpecial": { name: "Combo Hyper-Furie", @@ -2503,7 +2503,7 @@ export const move: MoveTranslationEntries = { }, "supersonicSkystrikePhysical": { name: "Piqué Supersonique", - effect: "Le Pokémon utilise la Force Z pour s'envoler très haut dans le ciel avant de plonger sur l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour s’envoler très haut dans le ciel avant de plonger sur l’adversaire. La puissance varie selon celle de la capacité originale." }, "supersonicSkystrikeSpecial": { name: "Piqué Supersonique", @@ -2511,7 +2511,7 @@ export const move: MoveTranslationEntries = { }, "acidDownpourPhysical": { name: "Déluge Causti-Toxique", - effect: "Le Pokémon utilise la Force Z pour répandre un marécage empoisonné où l'adversaire sombre. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour répandre un marécage empoisonné où l’adversaire sombre. La puissance varie selon celle de la capacité originale." }, "acidDownpourSpecial": { name: "Déluge Causti-Toxique", @@ -2519,7 +2519,7 @@ export const move: MoveTranslationEntries = { }, "tectonicRagePhysical": { name: "Éruption Géo-Sismique", - effect: "Le Pokémon utilise la Force Z pour entraîner l'adversaire dans les profondeurs de la terre. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour entraîner l’adversaire dans les profondeurs de la terre. La puissance varie selon celle de la capacité originale." }, "tectonicRageSpecial": { name: "Éruption Géo-Sismique", @@ -2527,7 +2527,7 @@ export const move: MoveTranslationEntries = { }, "continentalCrushPhysical": { name: "Apocalypse Gigalithique", - effect: "Le Pokémon utilise la Force Z pour créer un immense rocher et écraser l'adversaire avec. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour créer un immense rocher et écraser l’adversaire avec. La puissance varie selon celle de la capacité originale." }, "continentalCrushSpecial": { name: "Apocalypse Gigalithique", @@ -2535,7 +2535,7 @@ export const move: MoveTranslationEntries = { }, "savageSpinOutPhysical": { name: "Cocon Fatal", - effect: "Le Pokémon utilise la Force Z pour cracher de longs fils de soie et enserrer l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour cracher de longs fils de soie et enserrer l’adversaire. La puissance varie selon celle de la capacité originale." }, "savageSpinOutSpecial": { name: "Cocon Fatal", @@ -2543,7 +2543,7 @@ export const move: MoveTranslationEntries = { }, "neverEndingNightmarePhysical": { name: "Appel des Ombres Éternelles", - effect: "Le Pokémon utilise la Force Z pour invoquer des esprits rancuniers qui s'abattent sur l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour invoquer des esprits rancuniers qui s’abattent sur l’adversaire. La puissance varie selon celle de la capacité originale." }, "neverEndingNightmareSpecial": { name: "Appel des Ombres Éternelles", @@ -2551,7 +2551,7 @@ export const move: MoveTranslationEntries = { }, "corkscrewCrashPhysical": { name: "Vrille Maximum", - effect: "Le Pokémon utilise la Force Z pour tourner à toute vitesse et écraser l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour tourner à toute vitesse et écraser l’adversaire. La puissance varie selon celle de la capacité originale." }, "corkscrewCrashSpecial": { name: "Vrille Maximum", @@ -2559,7 +2559,7 @@ export const move: MoveTranslationEntries = { }, "infernoOverdrivePhysical": { name: "Pyro-Explosion Cataclysmique", - effect: "Le Pokémon utilise la Force Z pour cracher une boule de feu qui réduit l'adversaire en cendres. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour cracher une boule de feu qui réduit l’adversaire en cendres. La puissance varie selon celle de la capacité originale." }, "infernoOverdriveSpecial": { name: "Pyro-Explosion Cataclysmique", @@ -2567,7 +2567,7 @@ export const move: MoveTranslationEntries = { }, "hydroVortexPhysical": { name: "Super Tourbillon Abyssal", - effect: "Le Pokémon utilise la Force Z pour créer un tourbillon gigantesque qui avale l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour créer un tourbillon gigantesque qui avale l’adversaire. La puissance varie selon celle de la capacité originale." }, "hydroVortexSpecial": { name: "Super Tourbillon Abyssal", @@ -2575,7 +2575,7 @@ export const move: MoveTranslationEntries = { }, "bloomDoomPhysical": { name: "Pétalexplosion Éblouissante", - effect: "Le Pokémon utilise la Force Z pour libérer l'énergie des plantes et attaquer l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour libérer l’énergie des plantes et attaquer l’adversaire. La puissance varie selon celle de la capacité originale." }, "bloomDoomSpecial": { name: "Pétalexplosion Éblouissante", @@ -2583,7 +2583,7 @@ export const move: MoveTranslationEntries = { }, "gigavoltHavocPhysical": { name: "Fulguro-Lance Gigavolt", - effect: "Le Pokémon utilise la Force Z pour générer un courant électrique puissant qu'il projette sur l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour générer un courant électrique puissant qu’il projette sur l’adversaire. La puissance varie selon celle de la capacité originale." }, "gigavoltHavocSpecial": { name: "Fulguro-Lance Gigavolt", @@ -2591,7 +2591,7 @@ export const move: MoveTranslationEntries = { }, "shatteredPsychePhysical": { name: "Psycho-Pulvérisation EX", - effect: "Le Pokémon utilise la Force Z pour manipuler l'adversaire et lui infliger de sérieux dégâts. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour manipuler l’adversaire et lui infliger de sérieux dégâts. La puissance varie selon celle de la capacité originale." }, "shatteredPsycheSpecial": { name: "Psycho-Pulvérisation EX", @@ -2599,7 +2599,7 @@ export const move: MoveTranslationEntries = { }, "subzeroSlammerPhysical": { name: "Laser Cryogénique", - effect: "Le Pokémon utilise la Force Z pour baisser la température brutalement et congeler l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour baisser la température brutalement et congeler l’adversaire. La puissance varie selon celle de la capacité originale." }, "subzeroSlammerSpecial": { name: "Laser Cryogénique", @@ -2607,7 +2607,7 @@ export const move: MoveTranslationEntries = { }, "devastatingDrakePhysical": { name: "Chaos Draconique", - effect: "Le Pokémon utilise la Force Z pour matérialiser son aura et assaillir l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour matérialiser son aura et assaillir l’adversaire. La puissance varie selon celle de la capacité originale." }, "devastatingDrakeSpecial": { name: "Chaos Draconique", @@ -2615,7 +2615,7 @@ export const move: MoveTranslationEntries = { }, "blackHoleEclipsePhysical": { name: "Trou Noir des Ombres", - effect: "Le Pokémon utilise la Force Z pour rassembler l'énergie négative et y aspirer l'adversaire. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour rassembler l’énergie négative et y aspirer l’adversaire. La puissance varie selon celle de la capacité originale." }, "blackHoleEclipseSpecial": { name: "Trou Noir des Ombres", @@ -2623,7 +2623,7 @@ export const move: MoveTranslationEntries = { }, "twinkleTacklePhysical": { name: "Impact Choupinova", - effect: "Le Pokémon utilise la Force Z pour créer une dimension irréelle où l'adversaire est à sa merci. La puissance varie selon celle de la capacité originale." + effect: "Le Pokémon utilise la Force Z pour créer une dimension irréelle où l’adversaire est à sa merci. La puissance varie selon celle de la capacité originale." }, "twinkleTackleSpecial": { name: "Impact Choupinova", @@ -2631,10 +2631,10 @@ export const move: MoveTranslationEntries = { }, "catastropika": { name: "Pikachute Foudroyante", - effect: "Pikachu utilise la Force Z pour concentrer toute son électricité avant de se jeter à toute vitesse sur l'adversaire." + effect: "Pikachu utilise la Force Z pour concentrer toute son électricité avant de se jeter à toute vitesse sur l’adversaire." }, "shoreUp": { - name: "Amass'Sable", + name: "Amass’Sable", effect: "Le lanceur récupère jusqu’à la moitié de ses PV max. Durant une tempête de sable, il en récupère encore plus." }, "firstImpression": { @@ -2654,7 +2654,7 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur étend les bras et frappe l’adversaire en tournant violemment. Il inflige des dégâts et ignore les changements de stats de la cible." }, "sparklingAria": { - name: "Aria de l'Écume", + name: "Aria de l’Écume", effect: "Le lanceur émet plusieurs bulles en chantant. Soigne les brûlures des Pokémon touchés par ces bulles." }, "iceHammer": { @@ -2695,7 +2695,7 @@ export const move: MoveTranslationEntries = { }, "gearUp": { name: "Engrenage", - effect: "Change de réglage pour augmenter l'Attaque et l'Attaque Spéciale des alliés ayant les talents Plus ou Minus." + effect: "Change de réglage pour augmenter l’Attaque et l’Attaque Spéciale des alliés ayant les talents Plus ou Minus." }, "throatChop": { name: "Exécu-Son", @@ -2707,7 +2707,7 @@ export const move: MoveTranslationEntries = { }, "anchorShot": { name: "Ancrage", - effect: "Le lanceur jette son ancre sur la cible pour l'attaquer. Une fois accrochée, elle l'empêche de s'enfuir." + effect: "Le lanceur jette son ancre sur la cible pour l’attaquer. Une fois accrochée, elle l’empêche de s’enfuir." }, "psychicTerrain": { name: "Champ Psychique", @@ -2759,7 +2759,7 @@ export const move: MoveTranslationEntries = { }, "beakBlast": { name: "Bec-Canon", - effect: "Le lanceur fait chauffer son bec avant d'attaquer. S'il subit une attaque directe pendant la montée en température, l'attaquant sera brûlé." + effect: "Le lanceur fait chauffer son bec avant d’attaquer. S’il subit une attaque directe pendant la montée en température, l’attaquant sera brûlé." }, "clangingScales": { name: "Vibrécaille", @@ -2787,11 +2787,11 @@ export const move: MoveTranslationEntries = { }, "oceanicOperetta": { name: "Symphonie des Ondines", - effect: "Oratoria utilise la Force Z pour rassembler une grande quantité d'eau et la projeter sur la cible à pleine puissance." + effect: "Oratoria utilise la Force Z pour rassembler une grande quantité d’eau et la projeter sur la cible à pleine puissance." }, "guardianOfAlola": { - name: "Colère du Gardien d'Alola", - effect: "Le Pokémon Tutélaire utilise la Force Z et déchaîne toute la puissance d'Alola sur sa cible. Inflige des dégâts en fonction des PV restants de celle-ci." + name: "Colère du Gardien d’Alola", + effect: "Le Pokémon Tutélaire utilise la Force Z et déchaîne toute la puissance d’Alola sur sa cible. Inflige des dégâts en fonction des PV restants de celle-ci." }, "soulStealing7StarStrike": { name: "Fauche-Âme des Sept Étoiles", @@ -2799,11 +2799,11 @@ export const move: MoveTranslationEntries = { }, "stokedSparksurfer": { name: "Électro-Surf Survolté", - effect: "Le Raichu de la région d'Alola utilise la Force Z pour frapper la cible et la paralyser." + effect: "Le Raichu de la région d’Alola utilise la Force Z pour frapper la cible et la paralyser." }, "pulverizingPancake": { name: "Gare au Ronflex", - effect: "Ronflex utilise la Force Z pour montrer ce qu'il a dans le ventre et écraser la cible de tout son poids." + effect: "Ronflex utilise la Force Z pour montrer ce qu’il a dans le ventre et écraser la cible de tout son poids." }, "extremeEvoboost": { name: "Neuf pour Un", @@ -2815,7 +2815,7 @@ export const move: MoveTranslationEntries = { }, "shellTrap": { name: "Carapiège", - effect: "Pose une carapace piégée. Si l'adversaire utilise une capacité physique, la carapace explose et lui inflige des dégâts." + effect: "Pose une carapace piégée. Si l’adversaire utilise une capacité physique, la carapace explose et lui inflige des dégâts." }, "fleurCannon": { name: "Canon Floral", @@ -2831,7 +2831,7 @@ export const move: MoveTranslationEntries = { }, "shadowBone": { name: "Os Ombre", - effect: "Le lanceur frappe avec un os possédé par l'âme d'un défunt. Peut aussi baisser la Défense de la cible." + effect: "Le lanceur frappe avec un os possédé par l’âme d’un défunt. Peut aussi baisser la Défense de la cible." }, "accelerock": { name: "Vif Roc", @@ -2843,22 +2843,22 @@ export const move: MoveTranslationEntries = { }, "prismaticLaser": { name: "Laser Prisme", - effect: "Le lanceur utilise la puissance d'un prisme pour envoyer un laser destructeur, mais il doit se reposer au tour suivant." + effect: "Le lanceur utilise la puissance d’un prisme pour envoyer un laser destructeur, mais il doit se reposer au tour suivant." }, "spectralThief": { name: "Clepto-Mânes", - effect: "Le lanceur plonge dans l'ombre de la cible, vole ses augmentations de stats et l'attaque." + effect: "Le lanceur plonge dans l’ombre de la cible, vole ses augmentations de stats et l’attaque." }, "sunsteelStrike": { name: "Choc Météore", - effect: "Le lanceur fonce sur la cible à la vitesse d'une météorite. Ignore le talent de l'ennemi." + effect: "Le lanceur fonce sur la cible à la vitesse d’une météorite. Ignore le talent de l’ennemi." }, "moongeistBeam": { name: "Rayon Spectral", effect: "Le lanceur attaque avec un rayon de lumière mystérieux. Ignore le talent de la cible." }, "tearfulLook": { - name: "Larme à l'Oeil", + name: "Larme à l’Oeil", effect: "Le lanceur regarde la cible avec des yeux remplis de larmes. Celle-ci perd toute combativité et voit son Attaque et son Attaque Spéciale baisser." }, "zingZap": { @@ -2871,7 +2871,7 @@ export const move: MoveTranslationEntries = { }, "multiAttack": { name: "Coup Varia-Type", - effect: "Le Pokémon s'entoure d'une puissante énergie avant de foncer sur sa cible. Le type de la capacité dépend de la ROM installée." + effect: "Le Pokémon s’entoure d’une puissante énergie avant de foncer sur sa cible. Le type de la capacité dépend de la ROM installée." }, "tenMillionVoltThunderbolt": { name: "Giga-Tonnerre", @@ -2883,15 +2883,15 @@ export const move: MoveTranslationEntries = { }, "plasmaFists": { name: "Plasma Punch", - effect: "Le lanceur attaque en projetant de l'électricité avec ses poings. Convertit les capacités de type Normal en type Électrik." + effect: "Le lanceur attaque en projetant de l’électricité avec ses poings. Convertit les capacités de type Normal en type Électrik." }, "photonGeyser": { name: "Photo-Geyser", - effect: "Le lanceur fait jaillir un pilier de lumière. Compare l'Attaque et l'Attaque Spéciale, et utilise celle qui infligera le plus de dégâts." + effect: "Le lanceur fait jaillir un pilier de lumière. Compare l’Attaque et l’Attaque Spéciale, et utilise celle qui infligera le plus de dégâts." }, "lightThatBurnsTheSky": { name: "Apocalypsis Luminis", - effect: "Compare l'Attaque et l'Attaque Spéciale, et utilise celle qui infligera le plus de dégâts. Ignore le talent de la cible." + effect: "Compare l’Attaque et l’Attaque Spéciale, et utilise celle qui infligera le plus de dégâts. Ignore le talent de la cible." }, "searingSunrazeSmash": { name: "Hélio-Choc Dévastateur", @@ -2911,63 +2911,63 @@ export const move: MoveTranslationEntries = { }, "clangorousSoulblaze": { name: "Dracacophonie Flamboyante", - effect: "Ékaïser utilise la Force Z pour frapper l'ennemi de toutes ses forces. Augmente aussi ses stats." + effect: "Ékaïser utilise la Force Z pour frapper l’ennemi de toutes ses forces. Augmente aussi ses stats." }, "zippyZap": { name: "Pika-Sprint", - effect: "Une attaque électrique rapide comme l'éclair qui inflige un coup critique à coup sûr. Frappe en priorité." + effect: "Une attaque électrique rapide comme l’éclair qui inflige un coup critique à coup sûr. Frappe en priorité." }, "splishySplash": { name: "Pika-Splash", - effect: "Pikachu frappe l'adversaire avec une vague géante chargée d'électricité. Peut aussi paralyser l'ennemi." + effect: "Pikachu frappe l’adversaire avec une vague géante chargée d’électricité. Peut aussi paralyser l’ennemi." }, "floatyFall": { name: "Pika-Piqué", - effect: "Pikachu prend de la hauteur avant de fondre sur son adversaire. Peut aussi apeurer l'ennemi." + effect: "Pikachu prend de la hauteur avant de fondre sur son adversaire. Peut aussi apeurer l’ennemi." }, "pikaPapow": { name: "Pika-Fracas", - effect: "Plus le lanceur est heureux, plus l'attaque est puissante." + effect: "Plus le lanceur est heureux, plus l’attaque est puissante." }, "bouncyBubble": { name: "Évo-Thalasso", - effect: "Évoli frappe l'adversaire avec des bulles d'eau qu'il absorbe ensuite pour récupérer un nombre de PV égal à la moitié des dégâts infligés à l'ennemi." + effect: "Évoli frappe l’adversaire avec des bulles d’eau qu’il absorbe ensuite pour récupérer un nombre de PV égal à la moitié des dégâts infligés à l’ennemi." }, "buzzyBuzz": { name: "Évo-Dynamo", - effect: "Une attaque qui foudroie et paralyse l'adversaire." + effect: "Une attaque qui foudroie et paralyse l’adversaire." }, "sizzlySlide": { name: "Évo-Flambo", - effect: "Évoli s'embrase et percure violemment l'adversaire. Brûle aussi l'ennemi." + effect: "Évoli s’embrase et percure violemment l’adversaire. Brûle aussi l’ennemi." }, "glitzyGlow": { name: "Évo-Psycho", - effect: "Évoli submerge l'adversaire sous un flot d'ondes psychiques et crée un mur fabuleux qui réduit les dégâts causés par les attaques spéciales de l'ennemi" + effect: "Évoli submerge l’adversaire sous un flot d’ondes psychiques et crée un mur fabuleux qui réduit les dégâts causés par les attaques spéciales de l’ennemi" }, "baddyBad": { name: "Évo-Ténébro", - effect: "Évoli fait appel à son côté sombre pour attaquer l'adversaire et créer un mur fabuleux qui réduit les dégâts causés par les attaques physiques de l'ennemi." + effect: "Évoli fait appel à son côté sombre pour attaquer l’adversaire et créer un mur fabuleux qui réduit les dégâts causés par les attaques physiques de l’ennemi." }, "sappySeed": { name: "Évo-Écolo", - effect: "Une liane géante surgit du sol et bombarde l'adversaire de graines qui lui dérobent des PV à chaque tour. Ces PV sont ensuite absorbés par Évoli." + effect: "Une liane géante surgit du sol et bombarde l’adversaire de graines qui lui dérobent des PV à chaque tour. Ces PV sont ensuite absorbés par Évoli." }, "freezyFrost": { name: "Évo-Congélo", - effect: "Évoli frappe l'adversaire avec un cristal de buée noire gelée. Annule les changements de stats de tous les Pokémon au combat." + effect: "Évoli frappe l’adversaire avec un cristal de buée noire gelée. Annule les changements de stats de tous les Pokémon au combat." }, "sparklySwirl": { name: "Évo-Fabulo", - effect: "Une attaque qui enserre l'adversaire dans un tourbillon de senteurs oppressantes. Guérit toutes les altérations de statut de l'équipe." + effect: "Une attaque qui enserre l’adversaire dans un tourbillon de senteurs oppressantes. Guérit toutes les altérations de statut de l’équipe." }, "veeveeVolley": { name: "Évo-Chardasso", - effect: "Le lanceur lance une attaque dès lors qu'un signe apparaît sur le terrain. Les dégâts infligés sont proportionnels à l'affection de votre Pokémon" + effect: "Le lanceur lance une attaque dès lors qu’un signe apparaît sur le terrain. Les dégâts infligés sont proportionnels à l’affection de votre Pokémon" }, "doubleIronBash": { - name: "Écrous d'Poing", - effect: "Le lanceur fait pivoter l'écrou de sa poitrine deux fois d'affilée pour frapper l'adversaire avec ses bras. Peut apeurer l'ennemi (30% de chances)." + name: "Écrous d’Poing", + effect: "Le lanceur fait pivoter l’écrou de sa poitrine deux fois d’affilée pour frapper l’adversaire avec ses bras. Peut apeurer l’ennemi (30% de chances)." }, "maxGuard": { name: "Gardomax", @@ -2975,7 +2975,7 @@ export const move: MoveTranslationEntries = { }, "dynamaxCannon": { name: "Canon Dynamax", - effect: "Le lanceur attaque en émettant un laser depuis son noyau. Cette capacité inflige deux fois plus de dégâts si l'adversaire est level 200." + effect: "Le lanceur attaque en émettant un laser depuis son noyau. Cette capacité inflige deux fois plus de dégâts si l’adversaire est level 200." }, "snipeShot": { name: "Tir de Précision", @@ -3011,15 +3011,15 @@ export const move: MoveTranslationEntries = { }, "octolock": { name: "Octoprise", - effect: "Empêche l'ennemi de fuir ou de quitter le terrain. Baisse la Défense et la Défense Spécial de l'ennemi chaque tour." + effect: "Empêche l’ennemi de fuir ou de quitter le terrain. Baisse la Défense et la Défense Spécial de l’ennemi chaque tour." }, "boltBeak": { name: "Prise de Bec", - effect: "Inflige des dégâts et les double si le lanceur attaque avant l'ennemi." + effect: "Inflige des dégâts et les double si le lanceur attaque avant l’ennemi." }, "fishiousRend": { name: "Branchicrok", - effect: "Inflige des dégâts et les double si le lanceur attaque avant l'ennemi." + effect: "Inflige des dégâts et les double si le lanceur attaque avant l’ennemi." }, "courtChange": { name: "Change-Côté", @@ -3031,7 +3031,7 @@ export const move: MoveTranslationEntries = { }, "maxFlutterby": { name: "Insectomax", - effect: "Une attaque de type Insecte que seuls les Pokémon Dynamax peuvent utiliser. Baisse l'Attaque Spéciale de la cible." + effect: "Une attaque de type Insecte que seuls les Pokémon Dynamax peuvent utiliser. Baisse l’Attaque Spéciale de la cible." }, "maxLightning": { name: "Fulguromax", @@ -3043,7 +3043,7 @@ export const move: MoveTranslationEntries = { }, "maxKnuckle": { name: "Pugilomax", - effect: "Une attaque de type Combat que seuls les Pokémon dynamax peuvent utiliser. Augmente l'Attaque des Alliés." + effect: "Une attaque de type Combat que seuls les Pokémon dynamax peuvent utiliser. Augmente l’Attaque des Alliés." }, "maxPhantasm": { name: "Spectromax", @@ -3055,7 +3055,7 @@ export const move: MoveTranslationEntries = { }, "maxOoze": { name: "Toxinomax", - effect: "Une attaque de type Poison que seuls les Pokémon Dynamax peuvent utiliser. Augmente l'Attaque Spéciale des alliés." + effect: "Une attaque de type Poison que seuls les Pokémon Dynamax peuvent utiliser. Augmente l’Attaque Spéciale des alliés." }, "maxGeyser": { name: "Hydromax", @@ -3071,7 +3071,7 @@ export const move: MoveTranslationEntries = { }, "maxWyrmwind": { name: "Dracomax", - effect: "Une attaque de type Dragon que seuls les Pokémon Dynamax peuvent utiliser. Baisse l'Attaque de la cible." + effect: "Une attaque de type Dragon que seuls les Pokémon Dynamax peuvent utiliser. Baisse l’Attaque de la cible." }, "maxMindstorm": { name: "Psychomax", @@ -3107,7 +3107,7 @@ export const move: MoveTranslationEntries = { }, "decorate": { name: "Nappage", - effect: "Augmente fortement l'Attaque et l'Attaque Spéciale du lanceur." + effect: "Augmente fortement l’Attaque et l’Attaque Spéciale du lanceur." }, "drumBeating": { name: "Tambour Battant", @@ -3115,7 +3115,7 @@ export const move: MoveTranslationEntries = { }, "snapTrap": { name: "Troquenard", - effect: "Bloque l'ennemi pendant 4 à 5 tours." + effect: "Bloque l’ennemi pendant 4 à 5 tours." }, "pyroBall": { name: "Ballon Brûlant", @@ -3159,7 +3159,7 @@ export const move: MoveTranslationEntries = { }, "strangeSteam": { name: "Vapeur Féérique", - effect: "Inflige des dégâts et peut rendre confus l'ennemi." + effect: "Inflige des dégâts et peut rendre confus l’ennemi." }, "lifeDew": { name: "Fontaine de Vie", @@ -3167,7 +3167,7 @@ export const move: MoveTranslationEntries = { }, "obstruct": { name: "Blocage", - effect: "Protège le lanceur des attaques de contact. Baisse la Défense de deux crans si l'ennemi a tenté une attaque de contact." + effect: "Protège le lanceur des attaques de contact. Baisse la Défense de deux crans si l’ennemi a tenté une attaque de contact." }, "falseSurrender": { name: "Fourbette", @@ -3210,7 +3210,7 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur frappe tous les Pokémon autour de lui en explosant, ce qui le met K.O. La puissance de cette attaque augmente si un champ brumeux est actif." }, "grassyGlide": { - name: "Gliss'Herbe", + name: "Gliss’Herbe", effect: "Le lanceur attaque la cible en glissant sur le terrain. Frappe toujours en priorité si un champ herbu est actif." }, "risingVoltage": { @@ -3415,7 +3415,7 @@ export const move: MoveTranslationEntries = { }, "gMaxGoldRush": { name: "Pactole G-Max", - effect: "Une attaque de type Normal que seul un Miaouss Gigamax peut utiliser. Rend la cible confuse et permet d'obtenir de l'argent à la fin du combat." + effect: "Une attaque de type Normal que seul un Miaouss Gigamax peut utiliser. Rend la cible confuse et permet d’obtenir de l’argent à la fin du combat." }, "gMaxChiStrike": { name: "Frappe G-Max", @@ -3475,11 +3475,11 @@ export const move: MoveTranslationEntries = { }, "gMaxSnooze": { name: "Torpeur G-Max", - effect: "Une attaque de type Ténèbres que seul un Angoliath Gigamax peut utiliser. Fait bâiller la cible qui s'endort au tour suivant." + effect: "Une attaque de type Ténèbres que seul un Angoliath Gigamax peut utiliser. Fait bâiller la cible qui s’endort au tour suivant." }, "gMaxTartness": { name: "Corrosion G-Max", - effect: "Une attaque de type Plante que seul un Pomdrapi Gigamax peut utiliser. Réduit l'Esquive de la cible." + effect: "Une attaque de type Plante que seul un Pomdrapi Gigamax peut utiliser. Réduit l’Esquive de la cible." }, "gMaxSweetness": { name: "Nectar G-Max", @@ -3495,7 +3495,7 @@ export const move: MoveTranslationEntries = { }, "gMaxMeltdown": { name: "Fonte G-Max", - effect: "Une attaque de type Acier que seul un Melmetal Gigamax peut utiliser. Empêche la cible d'utiliser la même capacité deux fois de suite." + effect: "Une attaque de type Acier que seul un Melmetal Gigamax peut utiliser. Empêche la cible d’utiliser la même capacité deux fois de suite." }, "gMaxFoamBurst": { name: "Bulles G-Max", @@ -3527,11 +3527,11 @@ export const move: MoveTranslationEntries = { }, "gMaxOneBlow": { name: "Coup Final G-Max", - effect: "Une attaque de type Ténèbres que seul un Shifours Gigamax peut utiliser. Cette frappe unique permet d'ignorer la capacité Gardomax." + effect: "Une attaque de type Ténèbres que seul un Shifours Gigamax peut utiliser. Cette frappe unique permet d’ignorer la capacité Gardomax." }, "gMaxRapidFlow": { name: "Multicoup G-Max", - effect: "Une attaque de type Eau que seul un Shifours Gigamax peut utiliser. Cet enchaînement de coups permet d'ignorer la capacité Gardomax." + effect: "Une attaque de type Eau que seul un Shifours Gigamax peut utiliser. Cet enchaînement de coups permet d’ignorer la capacité Gardomax." }, "teraBlast": { name: "Téra Explosion", @@ -3626,16 +3626,16 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur charge la cible comme un taureau enragé. Le type de cette capacité dépend de la race du lanceur, et brise les barrières comme Mur Lumière et Protection." }, "makeItRain": { - name: "Ruée d'Or", + name: "Ruée d’Or", effect: "Le lanceur attaque en lançant de nombreuses pièces, ce qui baisse son Attaque Spéciale. Permet d’obtenir plus d’argent à la fin du combat." }, "psyblade": { name: "Lame Psychique", - effect: "Le lanceur lacère la cible à l'aide d'une lame intangible. S'il se trouve dans un champ électrifié, la puissance de cette capacité augmente de 50 %." + effect: "Le lanceur lacère la cible à l’aide d’une lame intangible. S’il se trouve dans un champ électrifié, la puissance de cette capacité augmente de 50 %." }, "hydroSteam": { name: "Hydrovapeur", - effect: "Le lanceur asperge la cible avec un puissant jet d'eau bouillante. Quand le soleil brille, la puissance de cette capacité augmente de 50 % au lieu de baisser." + effect: "Le lanceur asperge la cible avec un puissant jet d’eau bouillante. Quand le soleil brille, la puissance de cette capacité augmente de 50 % au lieu de baisser." }, "ruination": { name: "Cataclysme", @@ -3710,32 +3710,32 @@ export const move: MoveTranslationEntries = { effect: "Le lanceur contre-attaque avec un coup infligeant des dégâts supérieurs à ceux de la dernière capacité qui l’a blessé." }, "aquaCutter": { - name: "Tranch'Aqua", + name: "Tranch’Aqua", effect: "Le lanceur projette de l’eau pressurisée qui entaille la cible comme une lame. Taux de critiques élevé." }, "blazingTorque": { name: "Crash Brûlant", - effect: "Crash Brûlant inflige des dégâts et possède 30 % de chances de brûler l'adversaire." + effect: "Crash Brûlant inflige des dégâts et possède 30 % de chances de brûler l’adversaire." }, "wickedTorque": { name: "Crash Obscur", - effect: "Crash Obscur inflige des dégâts et possède 10 % de chances d'endormir l'adversaire." + effect: "Crash Obscur inflige des dégâts et possède 10 % de chances d’endormir l’adversaire." }, "noxiousTorque": { name: "Crash Toxique", - effect: "Crash Toxique inflige des dégâts et possède 30 % de chances d'empoisonner l'adversaire." + effect: "Crash Toxique inflige des dégâts et possède 30 % de chances d’empoisonner l’adversaire." }, "combatTorque": { name: "Crash Musclé", - effect: "Crash Musclé inflige des dégâts et possède 30 % de chances de paralyser l'adversaire." + effect: "Crash Musclé inflige des dégâts et possède 30 % de chances de paralyser l’adversaire." }, "magicalTorque": { name: "Crash Magique", - effect: "Crash Magique inflige des dégâts et possède 30 % de chances de rendre l'adversaire confus." + effect: "Crash Magique inflige des dégâts et possède 30 % de chances de rendre l’adversaire confus." }, "bloodMoon": { name: "Lune Rouge", - effect: "Le lanceur concentre toute son énergie dans la lune rouge sang sur son front et la projette sur la cible. Cette capacité ne peut pas être utilisée deux fois d'affilée." + effect: "Le lanceur concentre toute son énergie dans la lune rouge sang sur son front et la projette sur la cible. Cette capacité ne peut pas être utilisée deux fois d’affilée." }, "matchaGotcha": { name: "Mortier Matcha", @@ -3747,15 +3747,15 @@ export const move: MoveTranslationEntries = { }, "ivyCudgel": { name: "Massue Liane", - effect: "Le lanceur frappe la cible à l'aide d'une massue entourée d'une liane. Le type de cette capacité varie en fonction du masque que porte le lanceur. Taux de critiques élevé." + effect: "Le lanceur frappe la cible à l’aide d’une massue entourée d’une liane. Le type de cette capacité varie en fonction du masque que porte le lanceur. Taux de critiques élevé." }, "electroShot": { name: "Fulgurayon", - effect: "Le lanceur absorbe de l'électricité au premier tour, ce qui augmente son Attaque Spéciale, et envoie une puissante décharge au second. S'il pleut, il l'envoie au premier tour." + effect: "Le lanceur absorbe de l’électricité au premier tour, ce qui augmente son Attaque Spéciale, et envoie une puissante décharge au second. S’il pleut, il l’envoie au premier tour." }, "teraStarstorm": { name: "Pluie Térastrale", - effect: "Le lanceur bombarde la cible afin de l'éliminer grâce au pouvoir des cristaux. Si le lanceur est Terapagos sous sa Forme Stellaire, la capacité touche tous les ennemis." + effect: "Le lanceur bombarde la cible afin de l’éliminer grâce au pouvoir des cristaux. Si le lanceur est Terapagos sous sa Forme Stellaire, la capacité touche tous les ennemis." }, "fickleBeam": { name: "Laser Hasard", @@ -3775,7 +3775,7 @@ export const move: MoveTranslationEntries = { }, "tachyonCutter": { name: "Lame Tachyonique", - effect: "Le lanceur concentre des particules élémentaires pour créer une lame qui inflige des dégâts à la cible deux fois d’affilée. N'échoue jamais." + effect: "Le lanceur concentre des particules élémentaires pour créer une lame qui inflige des dégâts à la cible deux fois d’affilée. N’échoue jamais." }, "hardPress": { name: "Pression Extrême", @@ -3783,7 +3783,7 @@ export const move: MoveTranslationEntries = { }, "dragonCheer": { name: "Cri Draconique", - effect: "Le lanceur galvanise ses alliés avec un encouragement draconique qui augmente leur taux de critiques. L'effet est plus puissant si les alliés ont le type Dragon." + effect: "Le lanceur galvanise ses alliés avec un encouragement draconique qui augmente leur taux de critiques. L’effet est plus puissant si les alliés ont le type Dragon." }, "alluringVoice": { name: "Voix Envoûtante", @@ -3791,22 +3791,22 @@ export const move: MoveTranslationEntries = { }, "temperFlare": { name: "Indignition", - effect: "Le lanceur utilise la force de son dépit pour attaquer. S'il a utilisé une capacité qui a échoué au tour précédent, la puissance d'Indignition est doublée." + effect: "Le lanceur utilise la force de son dépit pour attaquer. S’il a utilisé une capacité qui a échoué au tour précédent, la puissance d’Indignition est doublée." }, "supercellSlam": { name: "Volt Assaut", - effect: "Le lanceur se charge en électricité et fond sur la cible. S'il échoue, le lanceur se blesse." + effect: "Le lanceur se charge en électricité et fond sur la cible. S’il échoue, le lanceur se blesse." }, "psychicNoise": { name: "Dissonance Psy", - effect: "Le lanceur attaque avec des ondes sonores dissonantes. Cela empêche la cible de récupérer des PV à l'aide de capacités, talents ou objets tenus pendant 2 tours." + effect: "Le lanceur attaque avec des ondes sonores dissonantes. Cela empêche la cible de récupérer des PV à l’aide de capacités, talents ou objets tenus pendant 2 tours." }, "upperHand": { name: "Prio-Parade", - effect: "Le lanceur réagit instinctivement au moindre mouvement et donne un coup de paume qui apeure la cible. Échoue si cette dernière n'a pas utilisé une attaque prioritaire." + effect: "Le lanceur réagit instinctivement au moindre mouvement et donne un coup de paume qui apeure la cible. Échoue si cette dernière n’a pas utilisé une attaque prioritaire." }, "malignantChain": { name: "Chaîne Malsaine", - effect: "Le lanceur ligote la cible avec une chaîne faite de poison et lui injecte un venin corrosif, ce qui peut aussi gravement l'empoisonner." + effect: "Le lanceur ligote la cible avec une chaîne faite de poison et lui injecte un venin corrosif, ce qui peut aussi gravement l’empoisonner." } -} as const; \ No newline at end of file +} as const; From 6603417e40162d56bc9aabd27c3f079a0be1150d Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 26 Apr 2024 14:36:40 +0200 Subject: [PATCH 09/63] French names for Abilities (#288) * Update ability.ts * Update ability.ts abilities order * Update ability.ts --- src/locales/fr/ability.ts | 1230 ++++++++++++++++++------------------- 1 file changed, 615 insertions(+), 615 deletions(-) diff --git a/src/locales/fr/ability.ts b/src/locales/fr/ability.ts index 8360c0c08b6..c23ea295a26 100644 --- a/src/locales/fr/ability.ts +++ b/src/locales/fr/ability.ts @@ -2,1243 +2,1243 @@ import { AbilityTranslationEntries } from "#app/plugins/i18n.js"; export const ability: AbilityTranslationEntries = { stench: { - name: "Stench", - description: "By releasing stench when attacking, this Pokémon may cause the target to flinch.", + name: "Puanteur", + description: "Le Pokémon émet une odeur si nauséabonde qu’il peut effrayer sa cible en l’attaquant.", }, drizzle: { - name: "Drizzle", - description: "The Pokémon makes it rain when it enters a battle.", + name: "Crachin", + description: "Le Pokémon invoque la pluie quand il entre au combat.", }, speedBoost: { - name: "Speed Boost", - description: "Its Speed stat is boosted every turn.", + name: "Turbo", + description: "La Vitesse du Pokémon augmente à chaque tour.", }, battleArmor: { - name: "Battle Armor", - description: "Hard armor protects the Pokémon from critical hits.", + name: "Armurbaston", + description: "Le Pokémon est protégé des coups critiques par une solide carapace.", }, sturdy: { - name: "Sturdy", - description: "It cannot be knocked out with one hit. One-hit KO moves cannot knock it out, either.", + name: "Fermeté", + description: "Le Pokémon encaisse toujours au moins une attaque s’il a tous ses PV. Il est également immunisé contre les capacités pouvant mettre K.O. en un coup.", }, damp: { - name: "Damp", - description: "Prevents the use of explosive moves, such as Self-Destruct, by dampening its surroundings.", + name: "Moiteur", + description: "Le Pokémon augmente l’humidité de l’air, ce qui empêche tous les Pokémon d’utiliser des capacités explosives telles que Destruction.", }, limber: { - name: "Limber", - description: "Its limber body protects the Pokémon from paralysis.", + name: "Échauffement", + description: "Le Pokémon s’est suffisamment échauffé, ce qui l’immunise contre la paralysie.", }, sandVeil: { - name: "Sand Veil", - description: "Boosts the Pokémon's evasiveness in a sandstorm.", + name: "Voile Sable", + description: "Augmente l’Esquive du Pokémon lors des tempêtes de sable.", }, static: { - name: "Static", - description: "The Pokémon is charged with static electricity, so contact with it may cause paralysis.", + name: "Statik", + description: "Le Pokémon charge son corps en électricité statique, et tout contact avec lui peut paralyser.", }, voltAbsorb: { - name: "Volt Absorb", - description: "Restores HP if hit by an Electric-type move instead of taking damage.", + name: "Absorbe-Volt", + description: "Si le Pokémon est touché par une capacité Électrik, il ne subit aucun dégât et regagne des PV à la place.", }, waterAbsorb: { - name: "Water Absorb", - description: "Restores HP if hit by a Water-type move instead of taking damage.", + name: "Absorbe-Eau", + description: "Si le Pokémon est touché par une capacité Eau, il ne subit aucun dégât et regagne des PV à la place.", }, oblivious: { - name: "Oblivious", - description: "The Pokémon is oblivious, and that keeps it from being infatuated or falling for taunts.", + name: "Benêt", + description: "Le Pokémon est un grand benêt, ce qui l’immunise contre l’attraction, la provocation ou l’intimidation.", }, cloudNine: { - name: "Cloud Nine", - description: "Eliminates the effects of weather.", + name: "Ciel Gris", + description: "Annule tous les effets liés à la météo.", }, compoundEyes: { - name: "Compound Eyes", - description: "The Pokémon's compound eyes boost its accuracy.", + name: "Œil Composé", + description: "Les yeux à facettes du Pokémon augmentent la Précision de ses capacités.", }, insomnia: { name: "Insomnia", - description: "The Pokémon is suffering from insomnia and cannot fall asleep.", + description: "Le Pokémon est incapable de dormir.", }, colorChange: { - name: "Color Change", - description: "The Pokémon's type becomes the type of the move used on it.", + name: "Homochromie", + description: "Lorsque le Pokémon est touché par une capacité, il prend le type de celle-ci.", }, immunity: { - name: "Immunity", - description: "The immune system of the Pokémon prevents it from getting poisoned.", + name: "Vaccin", + description: "Le Pokémon est naturellement immunisé contre toute forme de poison.", }, flashFire: { - name: "Flash Fire", - description: "Powers up the Pokémon's Fire-type moves if it's hit by one.", + name: "Torche", + description: "Lorsque le Pokémon est touché par une capacité de type Feu, il absorbe la chaleur pour renforcer ses propres capacités Feu.", }, shieldDust: { - name: "Shield Dust", - description: "This Pokémon's dust blocks the additional effects of attacks taken.", + name: "Écran Poudre", + description: "Le Pokémon dispose d’un écran naturel qui le protège des effets additionnels des attaques ennemies.", }, ownTempo: { - name: "Own Tempo", - description: "This Pokémon has its own tempo, and that prevents it from becoming confused.", + name: "Tempo Perso", + description: "Le Pokémon vit sa vie à son propre rythme, ce qui l’immunise contre la confusion et l’intimidation.", }, suctionCups: { - name: "Suction Cups", - description: "This Pokémon uses suction cups to stay in one spot to negate all moves and items that force switching out.", + name: "Ventouse", + description: "Le Pokémon est solidement fixé au sol par des ventouses, ce qui le protège des capacités ou objets qui font changer de Pokémon.", }, intimidate: { - name: "Intimidate", - description: "The Pokémon intimidates opposing Pokémon upon entering battle, lowering their Attack stat.", + name: "Intimidation", + description: "Le Pokémon rugit lorsqu’il arrive au combat, ce qui intimide l’ennemi et baisse son Attaque.", }, shadowTag: { - name: "Shadow Tag", - description: "This Pokémon steps on the opposing Pokémon's shadow to prevent it from escaping.", + name: "Marque Ombre", + description: "Empêche les Pokémon ennemis de quitter le terrain.", }, roughSkin: { - name: "Rough Skin", - description: "This Pokémon inflicts damage with its rough skin to the attacker on contact.", + name: "Peau Dure", + description: "Blesse l’attaquant lorsque le Pokémon subit une attaque directe.", }, wonderGuard: { - name: "Wonder Guard", - description: "Its mysterious power only lets supereffective moves hit the Pokémon.", + name: "Garde Mystik", + description: "Une puissance mystérieuse protège le Pokémon contre toutes les capacités, sauf celles qui sont super efficaces.", }, levitate: { - name: "Levitate", - description: "By floating in the air, the Pokémon receives full immunity to all Ground-type moves.", + name: "Lévitation", + description: "Le Pokémon flotte, ce qui l’immunise contre les capacités de type Sol.", }, effectSpore: { - name: "Effect Spore", - description: "Contact with the Pokémon may inflict poison, sleep, or paralysis on its attacker.", + name: "Pose Spore", + description: "Peut paralyser, empoisonner ou endormir l’attaquant lorsque le Pokémon subit une attaque directe.", }, synchronize: { - name: "Synchronize", - description: "The attacker will receive the same status condition if it inflicts a burn, poison, or paralysis to the Pokémon.", + name: "Synchro", + description: "Quand le Pokémon est brulé, paralysé ou empoisonné par un autre Pokémon, il partage ce statut avec celui-ci.", }, clearBody: { - name: "Clear Body", - description: "Prevents other Pokémon's moves or Abilities from lowering the Pokémon's stats.", + name: "Corps Sain", + description: "Empêche les stats du Pokémon de baisser à cause du talent ou d’une capacité de l’adversaire.", }, naturalCure: { - name: "Natural Cure", - description: "All status conditions heal when the Pokémon switches out.", + name: "Médic Nature", + description: "Le Pokémon soigne ses altérations de statut en quittant le combat.", }, lightningRod: { - name: "Lightning Rod", - description: "The Pokémon draws in all Electric-type moves. Instead of being hit by Electric-type moves, it boosts its Sp. Atk.", + name: "Paratonnerre", + description: "Le Pokémon détourne sur lui les capacités de type Électrik et les neutralise, tout en augmentant son Attaque Spéciale.", }, sereneGrace: { - name: "Serene Grace", - description: "Boosts the likelihood of additional effects occurring when attacking.", + name: "Sérénité", + description: "Augmente les chances d’infliger des effets additionnels.", }, swiftSwim: { - name: "Swift Swim", - description: "Boosts the Pokémon's Speed stat in rain.", + name: "Glissade", + description: "Augmente la Vitesse du Pokémon s’il pleut.", }, chlorophyll: { - name: "Chlorophyll", - description: "Boosts the Pokémon's Speed stat in harsh sunlight.", + name: "Chlorophylle", + description: "Augmente la Vitesse du Pokémon s’il y a du soleil.", }, illuminate: { - name: "Illuminate", - description: "By illuminating its surroundings, the Pokémon raises the likelihood of meeting wild Pokémon and prevents its accuracy from being lowered.", + name: "Lumiattirance", + description: "Le Pokémon illumine les alentours, facilitant les rencontres avec les Pokémon sauvages et empêche sa Précision de baisser.", }, trace: { - name: "Trace", - description: "When it enters a battle, the Pokémon copies an opposing Pokémon's Ability.", + name: "Calque", + description: "Lorsque le Pokémon entre au combat, il calque le talent d’un ennemi pour remplacer le sien.", }, hugePower: { - name: "Huge Power", - description: "Doubles the Pokémon's Attack stat.", + name: "Coloforce", + description: "Double la puissance des attaques physiques.", }, poisonPoint: { - name: "Poison Point", - description: "Contact with the Pokémon may poison the attacker.", + name: "Point Poison", + description: "Peut empoisonner l’attaquant lorsque le Pokémon subit une attaque directe.", }, innerFocus: { - name: "Inner Focus", - description: "The Pokémon's intensely focused, and that protects the Pokémon from flinching.", + name: "Attention", + description: "Le Pokémon a un mental à toute épreuve qui empêche les attaques ennemies de lui faire peur. Il est aussi immunisé contre le talent Intimidation.", }, magmaArmor: { - name: "Magma Armor", - description: "The Pokémon is covered with hot magma, which prevents the Pokémon from becoming frozen.", + name: "Armumagma", + description: "Le magma qui recouvre le corps du Pokémon le protège contre le gel.", }, waterVeil: { - name: "Water Veil", - description: "The Pokémon is covered with a water veil, which prevents the Pokémon from getting a burn.", + name: "Ignifu-Voile", + description: "Le voile qui recouvre le Pokémon le protège des brulures.", }, magnetPull: { - name: "Magnet Pull", - description: "Prevents Steel-type Pokémon from escaping using its magnetic force.", + name: "Magnépiège", + description: "Attire les Pokémon Acier grâce à un champ magnétique, ce qui les empêche de quitter le terrain.", }, soundproof: { - name: "Soundproof", - description: "Soundproofing gives the Pokémon full immunity to all sound-based moves.", + name: "Anti-Bruit", + description: "Protège le Pokémon de toutes les capacités sonores.", }, rainDish: { - name: "Rain Dish", - description: "The Pokémon gradually regains HP in rain.", + name: "Cuvette", + description: "Le Pokémon récupère progressivement des PV lorsqu’il pleut.", }, sandStream: { - name: "Sand Stream", - description: "The Pokémon summons a sandstorm when it enters a battle.", + name: "Sable Volant", + description: "Le Pokémon invoque une tempête de sable quand il entre au combat.", }, pressure: { - name: "Pressure", - description: "By putting pressure on the opposing Pokémon, it raises their PP usage.", + name: "Pression", + description: "Met la pression à l’adversaire pour le forcer à dépenser plus de PP.", }, thickFat: { - name: "Thick Fat", - description: "The Pokémon is protected by a layer of thick fat, which halves the damage taken from Fire- and Ice-type moves.", + name: "Isograisse", + description: "Le Pokémon est protégé par une épaisse couche de graisse qui diminue de moitié les dégâts qu’il subit des capacités de types Feu et Glace.", }, earlyBird: { - name: "Early Bird", - description: "The Pokémon awakens from sleep twice as fast as other Pokémon.", + name: "Matinal", + description: "Le Pokémon se réveille deux fois plus rapidement que les autres.", }, flameBody: { - name: "Flame Body", - description: "Contact with the Pokémon may burn the attacker.", + name: "Corps Ardent", + description: "Peut bruler l’attaquant lorsque le Pokémon subit une attaque directe.", }, runAway: { - name: "Run Away", - description: "Enables a sure getaway from wild Pokémon.", + name: "Fuite", + description: "Permet de fuir n’importe quel Pokémon sauvage.", }, keenEye: { - name: "Keen Eye", - description: "Keen eyes prevent other Pokémon from lowering this Pokémon's accuracy.", + name: "Regard Vif", + description: "Les yeux perçants du Pokémon empêchent sa Précision de baisser.", }, hyperCutter: { name: "Hyper Cutter", - description: "The Pokémon's proud of its powerful pincers. They prevent other Pokémon from lowering its Attack stat.", + description: "Le Pokémon est armé de puissantes pinces qui font sa fierté et empêchent son Attaque d’être baissée par l’adversaire.", }, pickup: { - name: "Pickup", - description: "The Pokémon may pick up the item an opposing Pokémon held during a battle.", + name: "Ramassage", + description: "Permet parfois au Pokémon de ramasser les objets que d’autres Pokémon ont utilisés. Il lui arrive aussi d’en trouver hors des combats.", }, truant: { - name: "Truant", - description: "The Pokémon can't use a move if it had used a move on the previous turn.", + name: "Absentéisme", + description: "Lorsque le Pokémon utilise une capacité, il passe le tour suivant à paresser.", }, hustle: { - name: "Hustle", - description: "Boosts the Attack stat, but lowers accuracy.", + name: "Agitation", + description: "Améliore l’Attaque du Pokémon, mais diminue la Précision.", }, cuteCharm: { - name: "Cute Charm", - description: "Contact with the Pokémon may cause infatuation.", + name: "Joli Sourire", + description: "Peut séduire l’attaquant lorsque le Pokémon subit une attaque directe.", }, plus: { name: "Plus", - description: "Boosts the Sp. Atk stat of the Pokémon if an ally with the Plus or Minus Ability is also in battle.", + description: "L’Attaque Spéciale du Pokémon augmente si un Pokémon allié a le talent Moins ou Plus.", }, minus: { - name: "Minus", - description: "Boosts the Sp. Atk stat of the Pokémon if an ally with the Plus or Minus Ability is also in battle.", + name: "Moins", + description: "L’Attaque Spéciale du Pokémon augmente si un Pokémon allié a le talent Moins ou Plus.", }, forecast: { - name: "Forecast", - description: "The Pokémon transforms with the weather to change its type to Water, Fire, or Ice.", + name: "Météo", + description: "Le Pokémon prend le type Eau, Feu ou Glace en fonction de la météo.", }, stickyHold: { - name: "Sticky Hold", - description: "Items held by the Pokémon are stuck fast and cannot be removed by other Pokémon.", + name: "Glu", + description: "Les objets sont collés au corps gluant du Pokémon, ce qui empêche ses adversaires de les dérober.", }, shedSkin: { - name: "Shed Skin", - description: "The Pokémon may heal its own status conditions by shedding its skin.", + name: "Mue", + description: "Le Pokémon soigne parfois ses altérations de statut en muant.", }, guts: { - name: "Guts", - description: "It's so gutsy that having a status condition boosts the Pokémon's Attack stat.", + name: "Cran", + description: "Augmente l’Attaque du Pokémon s’il est affecté par une altération de statut.", }, marvelScale: { - name: "Marvel Scale", - description: "The Pokémon's marvelous scales boost the Defense stat if it has a status condition.", + name: "Écaille Spéciale", + description: "Les écailles mystérieuses du Pokémon réagissent aux altérations de statut en augmentant sa Défense.", }, liquidOoze: { - name: "Liquid Ooze", - description: "The oozed liquid has a strong stench, which damages attackers using any draining move.", + name: "Suintement", + description: "Le Pokémon suinte un liquide toxique nauséabond qui blesse tous ceux qui tentent de voler ses PV.", }, overgrow: { - name: "Overgrow", - description: "Powers up Grass-type moves when the Pokémon's HP is low.", + name: "Engrais", + description: "Augmente la puissance des capacités de type Plante du Pokémon quand il a perdu une certaine quantité de PV.", }, blaze: { - name: "Blaze", - description: "Powers up Fire-type moves when the Pokémon's HP is low.", + name: "Brasier", + description: "Augmente la puissance des capacités de type Feu du Pokémon quand il a perdu une certaine quantité de PV.", }, torrent: { name: "Torrent", - description: "Powers up Water-type moves when the Pokémon's HP is low.", + description: "Augmente la puissance des capacités de type Eau du Pokémon quand il a perdu une certaine quantité de PV.", }, swarm: { - name: "Swarm", - description: "Powers up Bug-type moves when the Pokémon's HP is low.", + name: "Essaim", + description: "Augmente la puissance des capacités de type Insecte du Pokémon quand il a perdu une certaine quantité de PV.", }, rockHead: { - name: "Rock Head", - description: "Protects the Pokémon from recoil damage.", + name: "Tête de Roc", + description: "Le Pokémon peut utiliser des capacités occasionnant un contrecoup sans perdre de PV.", }, drought: { - name: "Drought", - description: "Turns the sunlight harsh when the Pokémon enters a battle.", + name: "Sécheresse", + description: "Le Pokémon invoque le soleil quand il entre au combat.", }, arenaTrap: { - name: "Arena Trap", - description: "Prevents opposing Pokémon from fleeing.", + name: "Piège Sable", + description: "Empêche l’adversaire de quitter le terrain.", }, vitalSpirit: { - name: "Vital Spirit", - description: "The Pokémon is full of vitality, and that prevents it from falling asleep.", + name: "Esprit Vital", + description: "Empêche le Pokémon de s’endormir.", }, whiteSmoke: { - name: "White Smoke", - description: "The Pokémon is protected by its white smoke, which prevents other Pokémon from lowering its stats.", + name: "Écran Fumée", + description: "Un écran de fumée empêche l’adversaire de baisser les stats du Pokémon.", }, purePower: { - name: "Pure Power", - description: "Using its pure power, the Pokémon doubles its Attack stat.", + name: "Force Pure", + description: "Le Pokémon utilise sa maitrise du yoga pour doubler la puissance de ses attaques physiques.", }, shellArmor: { - name: "Shell Armor", - description: "A hard shell protects the Pokémon from critical hits.", + name: "Coque Armure", + description: "Le Pokémon est protégé des coups critiques par sa carapace.", }, airLock: { name: "Air Lock", - description: "Eliminates the effects of weather.", + description: "Annule tous les effets de la météo.", }, tangledFeet: { - name: "Tangled Feet", - description: "Raises evasiveness if the Pokémon is confused.", + name: "Pieds Confus", + description: "Augmente l’Esquive du Pokémon s’il est confus.", }, motorDrive: { - name: "Motor Drive", - description: "Boosts its Speed stat if hit by an Electric-type move instead of taking damage.", + name: "Motorisé", + description: "Si le Pokémon est touché par une capacité de type Électrik, il ne subit aucun dégât et sa Vitesse augmente.", }, rivalry: { - name: "Rivalry", - description: "Becomes competitive and deals more damage to Pokémon of the same gender, but deals less to Pokémon of the opposite gender.", + name: "Rivalité", + description: "Le Pokémon déteste la concurrence et inflige plus de dégâts si sa cible est du même sexe. Par contre, il en inflige moins si sa cible est du sexe opposé.", }, steadfast: { - name: "Steadfast", - description: "The Pokémon's determination boosts the Speed stat each time the Pokémon flinches.", + name: "Impassible", + description: "Augmente la Vitesse du Pokémon quand il a peur.", }, snowCloak: { - name: "Snow Cloak", - description: "Boosts the Pokémon's evasiveness in snow.", + name: "Rideau Neige", + description: "Augmente l’Esquive du Pokémon quand il neige.", }, gluttony: { - name: "Gluttony", - description: "Makes the Pokémon eat a held Berry when its HP drops to half or less, which is sooner than usual.", + name: "Gloutonnerie", + description: "Si le Pokémon tient une Baie à manger en cas de PV bas, il la mange dès qu’il a perdu la moitié de ses PV.", }, angerPoint: { - name: "Anger Point", - description: "The Pokémon is angered when it takes a critical hit, and that maxes its Attack stat.", + name: "Colérique", + description: "Si le Pokémon subit un coup critique, il entre dans une colère noire qui augmente son Attaque au maximum.", }, unburden: { - name: "Unburden", - description: "Boosts the Speed stat if the Pokémon's held item is used or lost.", + name: "Délestage", + description: "Augmente la Vitesse du Pokémon s’il perd ou utilise l’objet qu’il tenait au début du combat.", }, heatproof: { - name: "Heatproof", - description: "The heatproof body of the Pokémon halves the damage from Fire-type moves that hit it.", + name: "Ignifugé", + description: "Diminue de moitié les dégâts infligés au Pokémon par les capacités de type Feu.", }, simple: { name: "Simple", - description: "The stat changes the Pokémon receives are doubled.", + description: "Les changements de stats sont deux fois plus importants pour le Pokémon.", }, drySkin: { - name: "Dry Skin", - description: "Restores HP in rain or when hit by Water-type moves. Reduces HP in harsh sunlight, and increases the damage received from Fire-type moves.", + name: "Peau Sèche", + description: "Quand le soleil brille, le Pokémon perd des PV et subit plus de dégâts des capacités Feu, mais il regagne des PV lorsqu’il pleut ou s’il est touché par une capacité Eau.", }, download: { - name: "Download", - description: "Compares an opposing Pokémon's Defense and Sp. Def stats before raising its own Attack or Sp. Atk stat—whichever will be more effective.", + name: "Télécharge", + description: "Le Pokémon compare la Défense et la Défense Spéciale de l’adversaire et, en fonction de la stat la plus basse, il augmente sa propre Attaque ou Attaque Spéciale.", }, ironFist: { - name: "Iron Fist", - description: "Powers up punching moves.", + name: "Poing de Fer", + description: "Augmente la puissance des capacités coups de poing.", }, poisonHeal: { - name: "Poison Heal", - description: "Restores HP if the Pokémon is poisoned instead of losing HP.", + name: "Soin Poison", + description: "Quand le Pokémon est empoisonné, il regagne des PV au lieu d’en perdre.", }, adaptability: { - name: "Adaptability", - description: "Powers up moves of the same type as the Pokémon.", + name: "Adaptabilité", + description: "Quand le Pokémon utilise une capacité du même type que lui, le bonus de puissance qu’elle reçoit est encore plus important que normalement.", }, skillLink: { - name: "Skill Link", - description: "Maximizes the number of times multistrike moves hit.", + name: "Multi-Coups", + description: "Les capacités pouvant frapper plusieurs fois frappent toujours le nombre maximal de coups.", }, hydration: { - name: "Hydration", - description: "Heals status conditions if it's raining.", + name: "Hydratation", + description: "Soigne les altérations de statut du Pokémon quand il pleut.", }, solarPower: { - name: "Solar Power", - description: "Boosts the Sp. Atk stat in harsh sunlight, but HP decreases every turn.", + name: "Force Soleil", + description: "Quand le soleil brille, l’Attaque Spéciale du Pokémon augmente mais il perd des PV à chaque tour.", }, quickFeet: { - name: "Quick Feet", - description: "Boosts the Speed stat if the Pokémon has a status condition.", + name: "Pied Véloce", + description: "Augmente la Vitesse du Pokémon en cas d’altération de statut.", }, normalize: { - name: "Normalize", - description: "All the Pokémon's moves become Normal type. The power of those moves is boosted a little.", + name: "Normalise", + description: "Toutes les capacités du Pokémon deviennent de type Normal, quel que soit leur type original. Leur puissance augmente légèrement.", }, sniper: { name: "Sniper", - description: "Powers up moves if they become critical hits when attacking.", + description: "Lorsque le Pokémon porte un coup critique, les dégâts infligés augmentent encore plus que d’habitude.", }, magicGuard: { - name: "Magic Guard", - description: "The Pokémon only takes damage from attacks.", + name: "Garde Magik", + description: "Seules les attaques peuvent blesser le Pokémon.", }, noGuard: { - name: "No Guard", - description: "The Pokémon employs no-guard tactics to ensure incoming and outgoing attacks always land.", + name: "Annule Garde", + description: "Les capacités du Pokémon touchent leur cible à coup sûr, mais les capacités adverses le touchent aussi à coup sûr.", }, stall: { - name: "Stall", - description: "The Pokémon moves after all other Pokémon do.", + name: "Frein", + description: "Le Pokémon utilise toujours sa capacité en dernier.", }, technician: { - name: "Technician", - description: "Powers up the Pokémon's weaker moves.", + name: "Technicien", + description: "Augmente la puissance des capacités les plus faibles.", }, leafGuard: { - name: "Leaf Guard", - description: "Prevents status conditions in harsh sunlight.", + name: "Feuille Garde", + description: "Protège le Pokémon contre les altérations de statut quand le soleil brille.", }, klutz: { - name: "Klutz", - description: "The Pokémon can't use any held items.", + name: "Maladresse", + description: "Le Pokémon ne peut utiliser aucun objet tenu.", }, moldBreaker: { - name: "Mold Breaker", - description: "Moves can be used on the target regardless of its Abilities.", + name: "Brise Moule", + description: "Le Pokémon ignore les talents adverses qui auraient un effet sur ses capacités.", }, superLuck: { - name: "Super Luck", - description: "The Pokémon is so lucky that the critical-hit ratios of its moves are boosted.", + name: "Chanceux", + description: "Le Pokémon est tellement chanceux qu’il inflige plus fréquemment des coups critiques.", }, aftermath: { - name: "Aftermath", - description: "Damages the attacker if it contacts the Pokémon with a finishing hit.", + name: "Boom Final", + description: "Si le Pokémon est mis K.O. par une attaque directe, il inflige des dégâts à l’attaquant avant de s’évanouir.", }, anticipation: { name: "Anticipation", - description: "The Pokémon can sense an opposing Pokémon's dangerous moves.", + description: "Le Pokémon devine si l’adversaire connait une capacité dangereuse pour lui.", }, forewarn: { - name: "Forewarn", - description: "When it enters a battle, the Pokémon can tell one of the moves an opposing Pokémon has.", + name: "Prédiction", + description: "Révèle l’une des capacités de l’adversaire quand le combat commence.", }, unaware: { - name: "Unaware", - description: "When attacking, the Pokémon ignores the target Pokémon's stat changes.", + name: "Inconscient", + description: "Le Pokémon ignore les changements de stats des autres Pokémon, qu’il attaque ou soit attaqué.", }, tintedLens: { - name: "Tinted Lens", - description: 'The Pokémon can use "not very effective" moves to deal regular damage.', + name: "Lentiteintée", + description: "Permet à une capacité qui n’est pas très efficace d’infliger des dégâts comme si elle était efficace normalement.", }, filter: { - name: "Filter", - description: "Reduces the power of supereffective attacks taken.", + name: "Filtre", + description: "Diminue la puissance des attaques super efficaces subies.", }, slowStart: { - name: "Slow Start", - description: "For five turns, the Pokémon's Attack and Speed stats are halved.", + name: "Début Calme", + description: "Divise la Vitesse et l’Attaque du Pokémon par deux pendant les cinq premiers tours du combat.", }, scrappy: { - name: "Scrappy", - description: "The Pokémon can hit Ghost-type Pokémon with Normal- and Fighting-type moves.", + name: "Querelleur", + description: "Permet aux capacités de type Normal ou Combat du Pokémon de toucher les Pokémon de type Spectre. Immunise aussi contre le talent Intimidation.", }, stormDrain: { - name: "Storm Drain", - description: "Draws in all Water-type moves. Instead of being hit by Water-type moves, it boosts its Sp. Atk.", + name: "Lavabo", + description: "Le Pokémon détourne sur lui les capacités de type Eau et les neutralise, tout en augmentant son Attaque Spéciale.", }, iceBody: { - name: "Ice Body", - description: "The Pokémon gradually regains HP in snow.", + name: "Corps Gel", + description: "Régénère peu à peu les PV du Pokémon quand il neige.", }, solidRock: { - name: "Solid Rock", - description: "Reduces the power of supereffective attacks taken.", + name: "Solide Roc", + description: "Diminue la puissance des attaques super efficaces subies.", }, snowWarning: { - name: "Snow Warning", - description: "The Pokémon makes it snow when it enters a battle.", + name: "Alerte Neige", + description: "Le Pokémon invoque la neige quand il entre au combat.", }, honeyGather: { - name: "Honey Gather", - description: "The Pokémon may gather Honey after a battle.", + name: "Cherche Miel", + description: "Le Pokémon peut parfois trouver du Miel après un combat.", }, frisk: { - name: "Frisk", - description: "When it enters a battle, the Pokémon can check an opposing Pokémon's held item.", + name: "Fouille", + description: "Permet de connaitre l’objet tenu par l’adversaire quand le combat commence.", }, reckless: { - name: "Reckless", - description: "Powers up moves that have recoil damage.", + name: "Téméraire", + description: "Augmente la puissance des capacités occasionnant un contrecoup.", }, multitype: { - name: "Multitype", - description: "Changes the Pokémon's type to match the Plate or Z-Crystal it holds.", + name: "Multi-Type", + description: "Modifie le type du Pokémon en fonction de la plaque qu’il tient.", }, flowerGift: { - name: "Flower Gift", - description: "Boosts the Attack and Sp. Def stats of itself and allies in harsh sunlight.", + name: "Don Floral", + description: "Augmente l’Attaque et la Défense Spéciale du Pokémon et de ses alliés lorsque le soleil brille.", }, badDreams: { - name: "Bad Dreams", - description: "Reduces the HP of sleeping opposing Pokémon.", + name: "Mauvais Rêve", + description: "Inflige des dégâts aux ennemis endormis.", }, pickpocket: { name: "Pickpocket", - description: "Steals an item from an attacker that made direct contact.", + description: "Vole l’objet que tient l’attaquant quand le Pokémon subit une attaque directe.", }, sheerForce: { - name: "Sheer Force", - description: "Removes additional effects to increase the power of moves when attacking.", + name: "Sans Limite", + description: "Les capacités ayant un effet additionnel le perdent, mais leur puissance augmente.", }, contrary: { - name: "Contrary", - description: "Makes stat changes have an opposite effect.", + name: "Contestation", + description: "Inverse les changements de stats : les augmentations de stats se transforment en baisses, et vice-versa.", }, unnerve: { - name: "Unnerve", - description: "Unnerves opposing Pokémon and makes them unable to eat Berries.", + name: "Tension", + description: "Fait stresser l’adversaire, ce qui l’empêche de manger des Baies.", }, defiant: { - name: "Defiant", - description: "Boosts the Pokémon's Attack stat sharply when its stats are lowered.", + name: "Acharné", + description: "Augmente beaucoup l’Attaque du Pokémon quand ses stats sont baissées par l’adversaire.", }, defeatist: { - name: "Defeatist", - description: "Halves the Pokémon's Attack and Sp. Atk stats when its HP becomes half or less.", + name: "Défaitiste", + description: "Le Pokémon devient défaitiste quand ses PV tombent à la moitié, et son Attaque et son Attaque Spéciale sont divisées par deux.", }, cursedBody: { - name: "Cursed Body", - description: "May disable a move used on the Pokémon.", + name: "Corps Maudit", + description: "Quand le Pokémon est touché par une capacité adverse, il inflige parfois Entrave sur celle-ci.", }, healer: { - name: "Healer", - description: "Sometimes heals an ally's status condition.", + name: "Cœur Soin", + description: "Soigne parfois une altération de statut d’un allié proche.", }, friendGuard: { - name: "Friend Guard", - description: "Reduces damage done to allies.", + name: "Garde-Ami", + description: "Diminue les dégâts subis par les alliés.", }, weakArmor: { - name: "Weak Armor", - description: "Physical attacks to the Pokémon lower its Defense stat but sharply raise its Speed stat.", + name: "Armurouillée", + description: "Quand le Pokémon est touché par une capacité physique, sa Défense baisse mais sa Vitesse augmente beaucoup.", }, heavyMetal: { name: "Heavy Metal", - description: "Doubles the Pokémon's weight.", + description: "Double le poids du Pokémon.", }, lightMetal: { name: "Light Metal", - description: "Halves the Pokémon's weight.", + description: "Divise par deux le poids du Pokémon.", }, multiscale: { - name: "Multiscale", - description: "Reduces the amount of damage the Pokémon takes while its HP is full.", + name: "Multiécaille", + description: "Le Pokémon subit moins de dégâts quand ses PV sont au maximum.", }, toxicBoost: { - name: "Toxic Boost", - description: "Powers up physical attacks when the Pokémon is poisoned.", + name: "Rage Poison", + description: "Augmente la puissance des capacités physiques quand le Pokémon est empoisonné.", }, flareBoost: { - name: "Flare Boost", - description: "Powers up special attacks when the Pokémon is burned.", + name: "Rage Brûlure", + description: "Augmente la puissance des capacités spéciales quand le Pokémon est brulé.", }, harvest: { - name: "Harvest", - description: "May create another Berry after one is used.", + name: "Récolte", + description: "Permet de réutiliser une même Baie plusieurs fois.", }, telepathy: { - name: "Telepathy", - description: "Anticipates an ally's attack and dodges it.", + name: "Télépathe", + description: "Le Pokémon anticipe et évite les attaques de ses alliés.", }, moody: { - name: "Moody", - description: "Raises one stat sharply and lowers another every turn.", + name: "Lunatique", + description: "Augmente beaucoup une stat du Pokémon et en baisse une autre au hasard à chaque tour.", }, overcoat: { - name: "Overcoat", - description: "Protects the Pokémon from things like sand, hail, and powder.", + name: "Envelocape", + description: "Protège des dégâts occasionnés par les tempêtes de sable, ainsi que des effets des capacités qui libèrent de la poudre et des spores.", }, poisonTouch: { - name: "Poison Touch", - description: "May poison a target when the Pokémon makes contact.", + name: "Toxitouche", + description: "Peut empoisonner l’ennemi par simple contact.", }, regenerator: { - name: "Regenerator", - description: "Restores a little HP when withdrawn from battle.", + name: "Régé-Force", + description: "Restaure un peu de PV si le Pokémon est retiré du combat.", }, bigPecks: { - name: "Big Pecks", - description: "Protects the Pokémon from Defense-lowering effects.", + name: "Cœur de Coq", + description: "Protège des effets qui baissent la Défense.", }, sandRush: { - name: "Sand Rush", - description: "Boosts the Pokémon's Speed stat in a sandstorm.", + name: "Baigne Sable", + description: "Augmente la Vitesse lors des tempêtes de sable.", }, wonderSkin: { - name: "Wonder Skin", - description: "Makes status moves more likely to miss.", + name: "Peau Miracle", + description: "Le Pokémon résiste mieux aux capacités de statut.", }, analytic: { - name: "Analytic", - description: "Boosts move power when the Pokémon moves last.", + name: "Analyste", + description: "Augmente la puissance des capacités du Pokémon s’il attaque en dernier.", }, illusion: { name: "Illusion", - description: "Comes out disguised as the Pokémon in the party's last spot.", + description: "Le Pokémon prend l’apparence du dernier membre de l’équipe pour tromper l’adversaire.", }, imposter: { - name: "Imposter", - description: "The Pokémon transforms itself into the Pokémon it's facing.", + name: "Imposteur", + description: "Le Pokémon prend l’apparence du Pokémon adverse.", }, infiltrator: { - name: "Infiltrator", - description: "Passes through the opposing Pokémon's barrier, substitute, and the like and strikes.", + name: "Infiltration", + description: "Traverse les barrières et les clones adverses pour attaquer directement.", }, mummy: { - name: "Mummy", - description: "Contact with the Pokémon changes the attacker's Ability to Mummy.", + name: "Momie", + description: "Lorsque le Pokémon subit une attaque directe, le talent de l’attaquant est remplacé par Momie.", }, moxie: { - name: "Moxie", - description: "The Pokémon shows moxie, and that boosts the Attack stat after knocking out any Pokémon.", + name: "Impudence", + description: "Quand le Pokémon met un ennemi K.O., sa confiance en lui ne connait plus de limite et son Attaque augmente.", }, justified: { - name: "Justified", - description: "Being hit by a Dark-type move boosts the Attack stat of the Pokémon, for justice.", + name: "Cœur Noble", + description: "Réveille la noblesse du Pokémon lorsqu’il subit une attaque de type Ténèbres, ce qui augmente son Attaque.", }, rattled: { - name: "Rattled", - description: "Intimidate or being hit by a Dark-, Ghost-, or Bug-type move will scare the Pokémon and boost its Speed stat.", + name: "Phobique", + description: "Si le Pokémon est touché par le talent Intimidation ou une attaque de type Ténèbres, Spectre ou Insecte, sa phobie se révèle et sa Vitesse augmente.", }, magicBounce: { - name: "Magic Bounce", - description: "Reflects status moves instead of getting hit by them.", + name: "Miroir Magik", + description: "Annule les effets des capacités de statut subies par le Pokémon et les retourne à l’envoyeur.", }, sapSipper: { - name: "Sap Sipper", - description: "Boosts the Attack stat if hit by a Grass-type move instead of taking damage.", + name: "Herbivore", + description: "Annule les attaques de type Plante subies par le Pokémon et augmente son Attaque.", }, prankster: { - name: "Prankster", - description: "Gives priority to a status move.", + name: "Farceur", + description: "Rend les capacités de statut du Pokémon prioritaires.", }, sandForce: { - name: "Sand Force", - description: "Boosts the power of Rock-, Ground-, and Steel-type moves in a sandstorm.", + name: "Force Sable", + description: "Augmente la puissance des capacités de types Roche, Sol et Acier en cas de tempête de sable.", }, ironBarbs: { - name: "Iron Barbs", - description: "Inflicts damage on the attacker upon contact with iron barbs.", + name: "Épine de Fer", + description: "Inflige des dégâts à l’attaquant lorsque le Pokémon subit une attaque directe.", }, zenMode: { - name: "Zen Mode", - description: "Changes the Pokémon's shape when HP is half or less.", + name: "Mode Transe", + description: "Le Pokémon change de forme quand il lui reste moins de la moitié de ses PV.", }, victoryStar: { - name: "Victory Star", - description: "Boosts the accuracy of its allies and itself.", + name: "Victorieux", + description: "Augmente la Précision du Pokémon et de ses alliés.", }, turboblaze: { - name: "Turboblaze", - description: "Moves can be used on the target regardless of its Abilities.", + name: "Turbo Brasier", + description: "Le Pokémon ignore les talents adverses qui auraient un effet sur ses capacités.", }, teravolt: { - name: "Teravolt", - description: "Moves can be used on the target regardless of its Abilities.", + name: "Téra-Voltage", + description: "Le Pokémon ignore les talents adverses qui auraient un effet sur ses capacités.", }, aromaVeil: { - name: "Aroma Veil", - description: "Protects itself and its allies from attacks that limit their move choices.", + name: "Aroma-Voile", + description: "Protège le Pokémon et ses alliés des effets limitant le libre arbitre.", }, flowerVeil: { - name: "Flower Veil", - description: "Ally Grass-type Pokémon are protected from status conditions and the lowering of their stats.", + name: "Flora-Voile", + description: "Empêche les alliés de type Plante de subir des baisses de stats et des altérations de statut.", }, cheekPouch: { - name: "Cheek Pouch", - description: "Restores HP as well when the Pokémon eats a Berry.", + name: "Bajoues", + description: "Le Pokémon récupère des PV lorsqu’il consomme n’importe quelle Baie en plus de bénéficier de ses effets habituels.", }, protean: { - name: "Protean", - description: "Changes the Pokémon's type to the type of the move it's about to use.", + name: "Protéen", + description: "Le Pokémon prend le type de la capacité qu’il utilise. Ce talent ne peut se déclencher qu’une fois par entrée au combat du Pokémon.", }, furCoat: { - name: "Fur Coat", - description: "Halves the damage from physical moves.", + name: "Toison Épaisse", + description: "Divise par deux les dégâts des capacités physiques subies par le Pokémon.", }, magician: { - name: "Magician", - description: "The Pokémon steals the held item of a Pokémon it hits with a move.", + name: "Magicien", + description: "Les capacités volent aussi l’objet tenu par la cible.", }, bulletproof: { - name: "Bulletproof", - description: "Protects the Pokémon from some ball and bomb moves.", + name: "Pare-Balles", + description: "Protège de certaines capacités lançant des projectiles comme des bombes et des balles.", }, competitive: { - name: "Competitive", - description: "Boosts the Sp. Atk stat sharply when a stat is lowered.", + name: "Battant", + description: "Augmente beaucoup l’Attaque Spéciale du Pokémon quand ses stats ont été baissées par l’adversaire.", }, strongJaw: { - name: "Strong Jaw", - description: "The Pokémon's strong jaw boosts the power of its biting moves.", + name: "Prognathe", + description: "Le Pokémon a une mâchoire robuste qui augmente la puissance de ses capacités de morsure.", }, refrigerate: { - name: "Refrigerate", - description: "Normal-type moves become Ice-type moves. The power of those moves is boosted a little.", + name: "Peau Gelée", + description: "Les capacités de type Normal deviennent de type Glace. Leur puissance augmente légèrement.", }, sweetVeil: { - name: "Sweet Veil", - description: "Prevents itself and ally Pokémon from falling asleep.", + name: "Gluco-Voile", + description: "Le Pokémon et ses alliés ne peuvent pas s’endormir.", }, stanceChange: { - name: "Stance Change", - description: "The Pokémon changes its form to Blade Forme when it uses an attack move and changes to Shield Forme when it uses King's Shield.", + name: "Déclic Tactique", + description: "Le Pokémon prend la Forme Assaut lorsqu’il utilise une capacité offensive, et la Forme Parade lorsqu’il utilise Bouclier Royal.", }, galeWings: { - name: "Gale Wings", - description: "Gives priority to Flying-type moves when the Pokémon's HP is full.", + name: "Ailes Bourrasque", + description: "Quand les PV du Pokémon sont au maximum, ses capacités de type Vol sont prioritaires.", }, megaLauncher: { - name: "Mega Launcher", - description: "Powers up aura and pulse moves.", + name: "Méga Blaster", + description: "Augmente la puissance des capacités qui projettent une aura.", }, grassPelt: { - name: "Grass Pelt", - description: "Boosts the Pokémon's Defense stat on Grassy Terrain.", + name: "Toison Herbue", + description: "Augmente la Défense du Pokémon si un champ herbu est actif.", }, symbiosis: { - name: "Symbiosis", - description: "The Pokémon passes its item to an ally that has used up an item.", + name: "Symbiose", + description: "Quand les alliés utilisent l’objet qu’ils tiennent, le Pokémon leur donne l’objet qu’il tient en remplacement.", }, toughClaws: { - name: "Tough Claws", - description: "Powers up moves that make direct contact.", + name: "Griffe Dure", + description: "Augmente la puissance des attaques directes du Pokémon.", }, pixilate: { - name: "Pixilate", - description: "Normal-type moves become Fairy-type moves. The power of those moves is boosted a little.", + name: "Peau Féérique", + description: "Les capacités de type Normal deviennent de type Fée. Leur puissance augmente légèrement.", }, gooey: { - name: "Gooey", - description: "Contact with the Pokémon lowers the attacker's Speed stat.", + name: "Poisseux", + description: "Baisse la Vitesse de l’attaquant lorsque le Pokémon subit une attaque directe.", }, aerilate: { - name: "Aerilate", - description: "Normal-type moves become Flying-type moves. The power of those moves is boosted a little.", + name: "Peau Céleste", + description: "Les capacités de type Normal deviennent de type Vol. Leur puissance augmente légèrement.", }, parentalBond: { - name: "Parental Bond", - description: "Parent and child each attacks.", + name: "Amour Filial", + description: "La mère et son petit unissent leurs forces pour attaquer deux fois d’affilée.", }, darkAura: { - name: "Dark Aura", - description: "Powers up each Pokémon's Dark-type moves.", + name: "Aura Ténébreuse", + description: "Augmente la puissance des capacités de type Ténèbres de tous les Pokémon.", }, fairyAura: { - name: "Fairy Aura", - description: "Powers up each Pokémon's Fairy-type moves.", + name: "Aura Féérique", + description: "Augmente la puissance des capacités de type Fée de tous les Pokémon.", }, auraBreak: { - name: "Aura Break", - description: 'The effects of "Aura" Abilities are reversed to lower the power of affected moves.', + name: "Aura Inversée", + description: "Inverse l’effet des talents « Aura » afin que ceux-ci baissent la puissance des capacités affectées au lieu de l’augmenter.", }, primordialSea: { - name: "Primordial Sea", - description: "The Pokémon changes the weather to nullify Fire-type attacks.", + name: "Mer Primaire", + description: "Altère les conditions météo pour neutraliser les attaques de type Feu.", }, desolateLand: { - name: "Desolate Land", - description: "The Pokémon changes the weather to nullify Water-type attacks.", + name: "Terre Finale", + description: "Altère les conditions météo pour neutraliser les attaques de type Eau.", }, deltaStream: { - name: "Delta Stream", - description: "The Pokémon changes the weather to eliminate all of the Flying type's weaknesses.", + name: "Souffle Delta", + description: "Altère les conditions météo pour annuler les faiblesses du type Vol.", }, stamina: { - name: "Stamina", - description: "Boosts the Defense stat when hit by an attack.", + name: "Endurance", + description: "Augmente la Défense du Pokémon lorsqu’il subit une attaque.", }, wimpOut: { - name: "Wimp Out", - description: "The Pokémon cowardly switches out when its HP becomes half or less.", + name: "Escampette", + description: "Le Pokémon perd confiance quand ses PV tombent à la moitié et s’enfuit dans sa Poké Ball.", }, emergencyExit: { - name: "Emergency Exit", - description: "The Pokémon, sensing danger, switches out when its HP becomes half or less.", + name: "Repli Tactique", + description: "Le Pokémon évite les situations inutilement dangereuses. Quand ses PV tombent à la moitié, il se réfugie dans sa Poké Ball.", }, waterCompaction: { - name: "Water Compaction", - description: "Boosts the Pokémon's Defense stat sharply when hit by a Water-type move.", + name: "Sable Humide", + description: "Augmente beaucoup la Défense du Pokémon quand il subit une capacité de type Eau.", }, merciless: { - name: "Merciless", - description: "The Pokémon's attacks become critical hits if the target is poisoned.", + name: "Cruauté", + description: "Lorsque le Pokémon attaque un adversaire empoisonné, le coup est forcément critique.", }, shieldsDown: { - name: "Shields Down", - description: "When its HP becomes half or less, the Pokémon's shell breaks and it becomes aggressive.", + name: "Bouclier-Carcan", + description: "Lorsque le Pokémon perd la moitié de ses PV, son enveloppe se brise et il adopte une posture offensive.", }, stakeout: { - name: "Stakeout", - description: "Doubles the damage dealt to the target's replacement if the target switches out.", + name: "Filature", + description: "Lorsque le Pokémon attaque une cible qui vient d’entrer sur le terrain en remplacement d’un autre Pokémon, les dégâts infligés sont doublés.", }, waterBubble: { - name: "Water Bubble", - description: "Lowers the power of Fire-type moves done to the Pokémon and prevents the Pokémon from getting a burn.", + name: "Aquabulle", + description: "Réduit la puissance des capacités de type Feu subies par le Pokémon. Il est également immunisé contre les brulures.", }, steelworker: { - name: "Steelworker", - description: "Powers up Steel-type moves.", + name: "Expert Acier", + description: "Augmente la puissance des attaques de type Acier.", }, berserk: { - name: "Berserk", - description: "Boosts the Pokémon's Sp. Atk stat when it takes a hit that causes its HP to become half or less.", + name: "Folle Furie", + description: "Augmente l’Attaque Spéciale du Pokémon lorsque ses PV tombent à la moitié à cause d’une attaque de l’adversaire.", }, slushRush: { - name: "Slush Rush", - description: "Boosts the Pokémon's Speed stat in snow.", + name: "Chasse-Neige", + description: "Augmente la Vitesse du Pokémon quand il neige.", }, longReach: { - name: "Long Reach", - description: "The Pokémon uses its moves without making contact with the target.", + name: "Longue Portée", + description: "Le Pokémon est capable d’utiliser toutes ses capacités sans entrer en contact direct avec sa cible.", }, liquidVoice: { - name: "Liquid Voice", - description: "All sound-based moves become Water-type moves.", + name: "Hydrata-Son", + description: "Toutes les attaques sonores du Pokémon prennent le type Eau.", }, triage: { - name: "Triage", - description: "Gives priority to a healing move.", + name: "Prioguérison", + description: "Rend les capacités de soin prioritaires.", }, galvanize: { - name: "Galvanize", - description: "Normal-type moves become Electric-type moves. The power of those moves is boosted a little.", + name: "Peau Électrique", + description: "Les capacités de type Normal deviennent de type Électrik. Leur puissance augmente légèrement.", }, surgeSurfer: { - name: "Surge Surfer", - description: "Doubles the Pokémon's Speed stat on Electric Terrain.", + name: "Surf Caudal", + description: "La Vitesse du Pokémon est doublée sur un champ électrifié.", }, schooling: { - name: "Schooling", - description: "When it has a lot of HP, the Pokémon forms a powerful school. It stops schooling when its HP is low.", + name: "Banc", + description: "Le Pokémon se rassemble avec ses congénères quand ses PV sont élevés. Quand il ne lui reste plus beaucoup de PV, le banc se disperse.", }, disguise: { - name: "Disguise", - description: "Once per battle, the shroud that covers the Pokémon can protect it from an attack.", + name: "Fantômasque", + description: "Le déguisement qui recouvre le corps du Pokémon est capable de le protéger d’une attaque.", }, battleBond: { - name: "Battle Bond", - description: "Defeating an opposing Pokémon strengthens the Pokémon's bond with its Trainer, and it becomes Ash-Greninja. Water Shuriken gets more powerful.", + name: "Synergie", + description: "En battant un ennemi, ce Pokémon renforce ses liens avec son Dresseur, ce qui augmente son Attaque, son Attaque Spéciale et sa Vitesse.", }, powerConstruct: { - name: "Power Construct", - description: "Other Cells gather to aid when its HP becomes half or less. Then the Pokémon changes its form to Complete Forme.", + name: "Rassemblement", + description: "Lorsque le Pokémon perd la moitié de ses PV, ses Cellules se rassemblent pour l’encourager, ce qui lui permet de prendre sa Forme Parfaite.", }, corrosion: { name: "Corrosion", - description: "The Pokémon can poison the target even if it's a Steel or Poison type.", + description: "Permet d’empoisonner les Pokémon de type Acier ou Poison.", }, comatose: { - name: "Comatose", - description: "It's always drowsing and will never wake up. It can attack without waking up.", + name: "Hypersommeil", + description: "Le Pokémon rêve en permanence et ne se réveille jamais. Il est capable d’attaquer normalement tout en dormant.", }, queenlyMajesty: { - name: "Queenly Majesty", - description: "Its majesty pressures the opposing Pokémon, making it unable to attack using priority moves.", + name: "Prestance Royale", + description: "L’adversaire est impressionné par la majesté du Pokémon et ne peut pas le viser avec une capacité prioritaire.", }, innardsOut: { - name: "Innards Out", - description: "Damages the attacker landing the finishing hit by the amount equal to its last HP.", + name: "Expuls’Organes", + description: "Le Pokémon inflige à l’adversaire l’ayant mis K.O. des dégâts égaux au nombre de PV qu’il lui restait avant le coup de grâce.", }, dancer: { - name: "Dancer", - description: "When another Pokémon uses a dance move, it can use a dance move following it regardless of its Speed.", + name: "Danseuse", + description: "Si n’importe quel Pokémon utilise une capacité dansante, le Pokémon utilise immédiatement cette danse lui aussi.", }, battery: { - name: "Battery", - description: "Powers up ally Pokémon's special moves.", + name: "Batterie", + description: "Augmente la puissance des capacités spéciales des alliés.", }, fluffy: { - name: "Fluffy", - description: "Halves the damage taken from moves that make direct contact, but doubles that of Fire-type moves.", + name: "Boule de Poils", + description: "Divise par deux les dégâts des attaques directes subies par le Pokémon, mais double les dégâts des capacités de type Feu.", }, dazzling: { - name: "Dazzling", - description: "Surprises the opposing Pokémon, making it unable to attack using priority moves.", + name: "Corps Coloré", + description: "L’adversaire est abasourdi par le Pokémon et ne peut pas le viser avec une capacité prioritaire.", }, soulHeart: { - name: "Soul-Heart", - description: "Boosts its Sp. Atk stat every time a Pokémon faints.", + name: "Animacœur", + description: "Augmente l’Attaque Spéciale du Pokémon lorsqu’un autre Pokémon est mis K.O.", }, tanglingHair: { - name: "Tangling Hair", - description: "Contact with the Pokémon lowers the attacker's Speed stat.", + name: "Mèche Rebelle", + description: "Baisse la Vitesse de l’attaquant lorsque le Pokémon subit une attaque directe.", }, receiver: { - name: "Receiver", - description: "The Pokémon copies the Ability of a defeated ally.", + name: "Receveur", + description: "Le Pokémon reçoit le talent d’un allié mis K.O.", }, - powerOfAlchemy: { - name: "Power of Alchemy", - description: "The Pokémon copies the Ability of a defeated ally.", + powerofAlchemy: { + name: "Osmose", + description: "Le Pokémon acquiert le talent d’un allié mis K.O.", }, beastBoost: { - name: "Beast Boost", - description: "The Pokémon boosts its most proficient stat each time it knocks out a Pokémon.", + name: "Boost Chimère", + description: "Augmente la stat la plus élevée du Pokémon quand il met K.O. un autre Pokémon.", }, - rksSystem: { - name: "RKS System", - description: "Changes the Pokémon's type to match the memory disc it holds.", + rKSSystem: { + name: "Système Alpha", + description: "Change le type du Pokémon en fonction de la ROM équipée.", }, electricSurge: { - name: "Electric Surge", - description: "Turns the ground into Electric Terrain when the Pokémon enters a battle.", + name: "Créa-Élec", + description: "Le Pokémon crée un champ électrifié au moment où il entre au combat.", }, psychicSurge: { - name: "Psychic Surge", - description: "Turns the ground into Psychic Terrain when the Pokémon enters a battle.", + name: "Créa-Psy", + description: "Le Pokémon crée un champ psychique au moment où il entre au combat.", }, mistySurge: { - name: "Misty Surge", - description: "Turns the ground into Misty Terrain when the Pokémon enters a battle.", + name: "Créa-Brume", + description: "Le Pokémon crée un champ brumeux au moment où il entre au combat.", }, grassySurge: { - name: "Grassy Surge", - description: "Turns the ground into Grassy Terrain when the Pokémon enters a battle.", + name: "Créa-Herbe", + description: "Le Pokémon crée un champ herbu au moment où il entre au combat.", }, fullMetalBody: { - name: "Full Metal Body", - description: "Prevents other Pokémon's moves or Abilities from lowering the Pokémon's stats.", + name: "Métallo-Garde", + description: "Empêche les stats du Pokémon de baisser à cause du talent ou d’une capacité de l’adversaire.", }, shadowShield: { - name: "Shadow Shield", - description: "Reduces the amount of damage the Pokémon takes while its HP is full.", + name: "Spectro-Bouclier", + description: "Le Pokémon subit moins de dégâts quand ses PV sont au maximum.", }, prismArmor: { - name: "Prism Armor", - description: "Reduces the power of supereffective attacks taken.", + name: "Prisme-Armure", + description: "Diminue la puissance des attaques super efficaces subies.", }, neuroforce: { - name: "Neuroforce", - description: "Powers up moves that are super effective.", + name: "Cérébro-Force", + description: "Augmente encore plus la puissance des attaques super efficaces.", }, intrepidSword: { - name: "Intrepid Sword", - description: "Boosts the Pokémon's Attack stat when the Pokémon enters a battle.", + name: "Lame Indomptable", + description: "Augmente l’Attaque du Pokémon la première fois qu’il entre au combat.", }, dauntlessShield: { - name: "Dauntless Shield", - description: "Boosts the Pokémon's Defense stat when the Pokémon enters a battle.", + name: "Égide Inflexible", + description: "Augmente la Défense du Pokémon la première fois qu’il entre au combat.", }, libero: { - name: "Libero", - description: "Changes the Pokémon's type to the type of the move it's about to use.", + name: "Libéro", + description: "Le Pokémon prend le type de la capacité qu’il utilise. Ce talent ne peut se déclencher qu’une fois par entrée au combat du Pokémon.", }, ballFetch: { - name: "Ball Fetch", - description: "The Pokémon will fetch the Poké Ball from the first failed throw of the battle.", + name: "Ramasse Ball", + description: "Si le Pokémon ne tient aucun objet, il ramassera la Poké Ball lors du premier lancer raté du combat.", }, cottonDown: { - name: "Cotton Down", - description: "When the Pokémon is hit by an attack, it scatters cotton fluff around and lowers the Speed stat of all Pokémon except itself.", + name: "Effilochage", + description: "Quand le Pokémon est touché par une attaque, il dissémine des aigrettes qui diminuent la Vitesse de tout le monde, sauf la sienne.", }, propellerTail: { - name: "Propeller Tail", - description: "Ignores the effects of opposing Pokémon's Abilities and moves that draw in moves.", + name: "Propulseur", + description: "Permet d’ignorer l’effet des capacités ou des talents qui attirent les capacités.", }, mirrorArmor: { - name: "Mirror Armor", - description: "Bounces back only the stat-lowering effects that the Pokémon receives.", + name: "Armure Miroir", + description: "Le Pokémon renvoie les effets réducteurs de stats qu’il reçoit.", }, gulpMissile: { - name: "Gulp Missile", - description: "When the Pokémon uses Surf or Dive, it will come back with prey. When it takes damage, it will spit out the prey to attack.", + name: "Dégobage", + description: "Quand le Pokémon utilise Surf ou Plongée, il revient avec une proie. Lorsqu’il subit des dégâts par la suite, il attaque en recrachant sa proie.", }, stalwart: { - name: "Stalwart", - description: "Ignores the effects of opposing Pokémon's Abilities and moves that draw in moves.", + name: "Nerfs d’Acier", + description: "Permet d’ignorer l’effet des capacités ou des talents qui attirent les capacités.", }, steamEngine: { - name: "Steam Engine", - description: "Boosts the Pokémon's Speed stat drastically if hit by a Fire- or Water-type move.", + name: "Turbine", + description: "Lorsque le Pokémon est touché par des capacités de type Eau ou Feu, sa Vitesse augmente énormément.", }, punkRock: { name: "Punk Rock", - description: "Boosts the power of sound-based moves. The Pokémon also takes half the damage from these kinds of moves.", + description: "Augmente la puissance des capacités basées sur le son. Le Pokémon ne subit que la moitié des dégâts quand il est touché par ce genre de capacités.", }, sandSpit: { - name: "Sand Spit", - description: "The Pokémon creates a sandstorm when it's hit by an attack.", + name: "Expul’Sable", + description: "Le Pokémon déclenche une tempête de sable quand il subit une attaque.", }, iceScales: { - name: "Ice Scales", - description: "The Pokémon is protected by ice scales, which halve the damage taken from special moves.", + name: "Écailles Glacées", + description: "Le Pokémon est protégé par des écailles de glace. Les dégâts qu’il subit par des capacités spéciales sont divisés par deux.", }, ripen: { - name: "Ripen", - description: "Ripens Berries and doubles their effect.", + name: "Mûrissement", + description: "Le Pokémon fait murir la Baie qu’il tient et double ainsi son effet.", }, iceFace: { - name: "Ice Face", - description: "The Pokémon's ice head can take a physical attack as a substitute, but the attack also changes the Pokémon's appearance. The ice will be restored when it hails.", + name: "Tête de Gel", + description: "Le glaçon sur sa tête encaisse les attaques physiques à la place du Pokémon, mais sa destruction modifie son apparence. Le glaçon se reforme quand il neige.", }, powerSpot: { - name: "Power Spot", - description: "Just being next to the Pokémon powers up moves.", + name: "Cercle d’Énergie", + description: "Augmente la puissance des capacités des Pokémon qui se trouvent à proximité.", }, mimicry: { - name: "Mimicry", - description: "Changes the Pokémon's type depending on the terrain.", + name: "Mimétisme", + description: "Le Pokémon adopte le même type que le terrain lorsqu’un champ est actif.", }, screenCleaner: { - name: "Screen Cleaner", - description: "When the Pokémon enters a battle, the effects of Light Screen, Reflect, and Aurora Veil are nullified for both opposing and ally Pokémon.", + name: "Brise-Barrière", + description: "Quand le Pokémon entre au combat, les effets de Mur Lumière, Protection et Voile Aurore disparaissent pour les alliés comme pour les adversaires.", }, steelySpirit: { - name: "Steely Spirit", - description: "Powers up ally Pokémon's Steel-type moves.", + name: "Boost Acier", + description: "Augmente la puissance des attaques de type Acier du Pokémon et de ses alliés.", }, perishBody: { - name: "Perish Body", - description: "When hit by a move that makes direct contact, the Pokémon and the attacker will faint after three turns unless they switch out of battle.", + name: "Corps Condamné", + description: "Lorsque le Pokémon est directement touché par une capacité, l’assaillant et lui tomberont K.O. dans trois tours, à moins qu’ils ne soient remplacés entre temps.", }, wanderingSpirit: { - name: "Wandering Spirit", - description: "The Pokémon exchanges Abilities with a Pokémon that hits it with a move that makes direct contact.", + name: "Âme Vagabonde", + description: "Lorsque le Pokémon est directement touché par une capacité, il échange son talent avec celui de l’assaillant.", }, gorillaTactics: { - name: "Gorilla Tactics", - description: "Boosts the Pokémon's Attack stat but only allows the use of the first selected move.", + name: "Entêtement", + description: "Augmente l’Attaque, mais empêche d’utiliser toute autre capacité que celle utilisée en premier par le Pokémon.", }, neutralizingGas: { - name: "Neutralizing Gas", - description: "If the Pokémon with Neutralizing Gas is in the battle, the effects of all Pokémon's Abilities will be nullified or will not be triggered.", + name: "Gaz Inhibiteur", + description: "Si un Pokémon avec Gaz Inhibiteur est sur le terrain, les effets des talents de tous les autres Pokémon ne s’activent pas ou sont neutralisés.", }, pastelVeil: { - name: "Pastel Veil", - description: "Protects the Pokémon and its ally Pokémon from being poisoned.", + name: "Voile Pastel", + description: "Protège le Pokémon et ses alliés contre toutes les altérations de statut liées à l’empoisonnement.", }, hungerSwitch: { - name: "Hunger Switch", - description: "The Pokémon changes its form, alternating between its Full Belly Mode and Hangry Mode after the end of each turn.", + name: "Déclic Fringale", + description: "À la fin de chaque tour, le Pokémon alterne entre ses formes Mode Rassasié et Mode Affamé.", }, quickDraw: { - name: "Quick Draw", - description: "Enables the Pokémon to move first occasionally.", + name: "Tir Vif", + description: "Permet parfois au Pokémon d’agir en premier.", }, unseenFist: { - name: "Unseen Fist", - description: "If the Pokémon uses moves that make direct contact, it can attack the target even if the target protects itself.", + name: "Poing Invisible", + description: "Si le Pokémon utilise une attaque directe, celle-ci pourra toucher la cible même si elle se protège.", }, curiousMedicine: { - name: "Curious Medicine", - description: "When the Pokémon enters a battle, it scatters medicine from its shell, which removes all stat changes from allies.", + name: "Breuvage Suspect", + description: "Quand il entre au combat, le Pokémon répand une substance qui annule les changements de stats de ses alliés.", }, transistor: { name: "Transistor", - description: "Powers up Electric-type moves.", + description: "Augmente la puissance des capacités de type Électrik.", }, dragonsMaw: { - name: "Dragon's Maw", - description: "Powers up Dragon-type moves.", + name: "Dent de Dragon", + description: "Augmente la puissance des capacités de type Dragon.", }, chillingNeigh: { - name: "Chilling Neigh", - description: "When the Pokémon knocks out a target, it utters a chilling neigh, which boosts its Attack stat.", + name: "Blanche Ruade", + description: "Quand le Pokémon met un ennemi K.O., il émet un hennissement glaçant, ce qui augmente son Attaque.", }, grimNeigh: { - name: "Grim Neigh", - description: "When the Pokémon knocks out a target, it utters a terrifying neigh, which boosts its Sp. Atk stat.", + name: "Sombre Ruade", + description: "Quand le Pokémon met un ennemi K.O., il émet un hennissement terrifiant qui augmente son Attaque Spéciale.", }, - asOneGlastrier: { - name: "As One", - description: "This Ability combines the effects of both Calyrex's Unnerve Ability and Glastrier's Chilling Neigh Ability.", + asOne: { + name: "Osmose Équine", + description: "Les talents Tension de Sylveroy et Blanche Ruade de Blizzeval sont cumulés.", }, - asOneSpectrier: { - name: "As One", - description: "This Ability combines the effects of both Calyrex's Unnerve Ability and Spectrier's Grim Neigh Ability.", + asOne: { + name: "Osmose Équine", + description: "Les talents Tension de Sylveroy et Sombre Ruade de Spectreval sont cumulés.", }, lingeringAroma: { - name: "Lingering Aroma", - description: "Contact with the Pokémon changes the attacker's Ability to Lingering Aroma.", + name: "Odeur Tenace", + description: "Lorsque le Pokémon subit une attaque directe, le talent de l’attaquant est remplacé par Odeur Tenace.", }, seedSower: { - name: "Seed Sower", - description: "Turns the ground into Grassy Terrain when the Pokémon is hit by an attack.", + name: "Semencier", + description: "Le Pokémon crée un champ herbu quand il subit une attaque.", }, thermalExchange: { - name: "Thermal Exchange", - description: "Boosts the Attack stat when the Pokémon is hit by a Fire-type move. The Pokémon also cannot be burned.", + name: "Thermodynamique", + description: "Lorsque le Pokémon est touché par une capacité de type Feu, il ne subit aucun dégât et son Attaque augmente.", }, angerShell: { - name: "Anger Shell", - description: "When an attack causes its HP to drop to half or less, the Pokémon gets angry. This lowers its Defense and Sp. Def stats but boosts its Attack, Sp. Atk, and Speed stats.", + name: "Courroupace", + description: "Le Pokémon enrage s’il a moins de la moitié de ses PV après avoir subi une attaque. Sa Déf. et sa Déf. Spé. baissent, et son Atq., son Atq. Spé. et sa Vit. augmentent.", }, purifyingSalt: { - name: "Purifying Salt", - description: "The Pokémon's pure salt protects it from status conditions and halves the damage taken from Ghost-type moves.", + name: "Sel Purificateur", + description: "Le sel pur immunise le Pokémon contre les altérations de statut, et diminue de moitié les dégâts des capacités de type Spectre.", }, wellBakedBody: { - name: "Well-Baked Body", - description: "The Pokémon takes no damage when hit by Fire-type moves. Instead, its Defense stat is sharply boosted.", + name: "Bien Cuit", + description: "Si le Pokémon est touché par une capacité de type Feu, il ne subit aucun dégât et sa Défense augmente beaucoup.", }, windRider: { - name: "Wind Rider", - description: "Boosts the Pokémon's Attack stat if Tailwind takes effect or if the Pokémon is hit by a wind move. The Pokémon also takes no damage from wind moves.", + name: "Aéroporté", + description: "L’Attaque du Pokémon augmente si un vent arrière souffle ou s’il est touché par une capacité faisant appel au vent. Dans ce dernier cas, il ne subit aucun dégât.", }, guardDog: { - name: "Guard Dog", - description: "Boosts the Pokémon's Attack stat if intimidated. Moves and items that would force the Pokémon to switch out also fail to work.", + name: "Chien de Garde", + description: "L’Attaque du Pokémon augmente s’il subit l’effet du talent Intimidation. Les capacités ou objets qui font changer de Pokémon n’ont aucun effet sur lui.", }, rockyPayload: { - name: "Rocky Payload", - description: "Powers up Rock-type moves.", + name: "Porte-Roche", + description: "Augmente la puissance des capacités de type Roche.", }, windPower: { - name: "Wind Power", - description: "The Pokémon becomes charged when it is hit by a wind move, boosting the power of the next Electric-type move the Pokémon uses.", + name: "Turbine Éolienne", + description: "Si le Pokémon est touché par une capacité faisant appel au vent, il se charge en électricité.", }, - zeroToHero: { - name: "Zero to Hero", - description: "The Pokémon transforms into its Hero Form when it switches out.", + zerotoHero: { + name: "Supermutation", + description: "Le Pokémon prend sa Forme Super en quittant le combat.", }, commander: { - name: "Commander", - description: "When the Pokémon enters a battle, it goes inside the mouth of an ally Dondozo if one is on the field. The Pokémon then issues commands from there.", + name: "Commandant", + description: "Si un Oyacata allié est sur le terrain quand ce Pokémon rejoint le combat, ce dernier entre dans sa bouche et devient son commandant.", }, electromorphosis: { - name: "Electromorphosis", - description: "The Pokémon becomes charged when it takes damage, boosting the power of the next Electric-type move the Pokémon uses.", + name: "Grecharge", + description: "Si le Pokémon subit des dégâts, il se charge en électricité.", }, protosynthesis: { - name: "Protosynthesis", - description: "Boosts the Pokémon's most proficient stat in harsh sunlight or if the Pokémon is holding Booster Energy.", + name: "Paléosynthèse", + description: "Quand le soleil brille ou que le Pokémon tient une capsule d’Énergie Booster, sa stat la plus élevée augmente.", }, quarkDrive: { - name: "Quark Drive", - description: "Boosts the Pokémon's most proficient stat on Electric Terrain or if the Pokémon is holding Booster Energy.", + name: "Charge Quantique", + description: "Quand un champ électrifié est actif ou que le Pokémon tient une capsule d’Énergie Booster, sa stat la plus élevée augmente.", }, - goodAsGold: { - name: "Good as Gold", - description: "A body of pure, solid gold gives the Pokémon full immunity to other Pokémon's status moves.", + goodasGold: { + name: "Corps en Or", + description: "Le corps en or pur et robuste du Pokémon l’immunise contre les capacités de statut des autres Pokémon.", }, - vesselOfRuin: { - name: "Vessel of Ruin", - description: "The power of the Pokémon's ruinous vessel lowers the Sp. Atk stats of all Pokémon except itself.", + vesselofRuin: { + name: "Urne du Fléau", + description: "Le pouvoir de l’urne qui appelle le fléau affaiblit l’Attaque Spéciale de tous les autres Pokémon.", }, - swordOfRuin: { - name: "Sword of Ruin", - description: "The power of the Pokémon's ruinous sword lowers the Defense stats of all Pokémon except itself.", + swordofRuin: { + name: "Épée du Fléau", + description: "Le pouvoir de l’épée qui appelle le fléau affaiblit la Défense de tous les autres Pokémon.", }, - tabletsOfRuin: { - name: "Tablets of Ruin", - description: "The power of the Pokémon's ruinous wooden tablets lowers the Attack stats of all Pokémon except itself.", + tabletsofRuin: { + name: "Bois du Fléau", + description: "Le pouvoir du bois qui appelle le fléau affaiblit l’Attaque de tous les autres Pokémon.", }, - beadsOfRuin: { - name: "Beads of Ruin", - description: "The power of the Pokémon's ruinous beads lowers the Sp. Def stats of all Pokémon except itself.", + beadsofRuin: { + name: "Perles du Fléau", + description: "Le pouvoir des perles qui appellent le fléau affaiblit la Défense Spéciale de tous les autres Pokémon.", }, orichalcumPulse: { - name: "Orichalcum Pulse", - description: "Turns the sunlight harsh when the Pokémon enters a battle. The ancient pulse thrumming through the Pokémon also boosts its Attack stat in harsh sunlight.", + name: "Pouls Orichalque", + description: "Le Pokémon invoque le soleil quand il rejoint le combat. Quand les rayons du soleil sont intenses, une pulsation primitive augmente son Attaque.", }, hadronEngine: { - name: "Hadron Engine", - description: "Turns the ground into Electric Terrain when the Pokémon enters a battle. The futuristic engine within the Pokémon also boosts its Sp. Atk stat on Electric Terrain.", + name: "Moteur à Hadrons", + description: "Le Pokémon crée un champ électrifié quand il rejoint le combat. Une machine du futur fait monter son Attaque Spéciale si un champ électrifié est actif.", }, opportunist: { - name: "Opportunist", - description: "If an opponent's stat is boosted, the Pokémon seizes the opportunity to boost the same stat for itself.", + name: "Opportuniste", + description: "Quand les stats de l’ennemi augmentent, le Pokémon en profite pour augmenter ses stats de la même manière.", }, cudChew: { - name: "Cud Chew", - description: "When the Pokémon eats a Berry, it will regurgitate that Berry at the end of the next turn and eat it one more time.", + name: "Ruminant", + description: "Quand le Pokémon mange une Baie, il la régurgite à la fin du tour suivant et la mange une nouvelle fois.", }, sharpness: { - name: "Sharpness", - description: "Powers up slicing moves.", + name: "Incisif", + description: "Augmente la puissance des capacités tranchantes.", }, supremeOverlord: { - name: "Supreme Overlord", - description: "When the Pokémon enters a battle, its Attack and Sp. Atk stats are slightly boosted for each of the allies in its party that have already been defeated.", + name: "Général Suprême", + description: "Quand le Pokémon entre sur le terrain, son Attaque et son Attaque Spéciale augmentent légèrement pour chaque allié mis K.O. auparavant.", }, costar: { - name: "Costar", - description: "When the Pokémon enters a battle, it copies an ally's stat changes.", + name: "Collab", + description: "Quand le Pokémon entre sur le terrain, il copie les changements de stats de son allié.", }, toxicDebris: { - name: "Toxic Debris", - description: "Scatters poison spikes at the feet of the opposing team when the Pokémon takes damage from physical moves.", + name: "Dépôt Toxique", + description: "Quand le Pokémon est touché par une capacité physique, il répand des pics toxiques dans le camp adverse.", }, armorTail: { - name: "Armor Tail", - description: "The mysterious tail covering the Pokémon's head makes opponents unable to use priority moves against the Pokémon or its allies.", + name: "Armure Caudale", + description: "L’étrange queue qui recouvre la tête du Pokémon empêche ce dernier d’être visé par une capacité prioritaire.", }, earthEater: { - name: "Earth Eater", - description: "If hit by a Ground-type move, the Pokémon has its HP restored instead of taking damage.", + name: "Absorbe-Terre", + description: "Si le Pokémon est touché par une capacité de type Sol, il regagne des PV au lieu de subir des dégâts.", }, myceliumMight: { - name: "Mycelium Might", - description: "The Pokémon will always act more slowly when using status moves, but these moves will be unimpeded by the Ability of the target.", + name: "Force Fongique", + description: "Le Pokémon agit toujours plus lentement quand il utilise une capacité de statut, mais il ignore les talents adverses.", }, mindsEye: { - name: "Mind's Eye", - description: "The Pokémon ignores changes to opponents' evasiveness, its accuracy can't be lowered, and it can hit Ghost types with Normal- and Fighting-type moves.", + name: "Œil Révélateur", + description: "Le Pokémon ignore les changements d’Esquive des cibles et peut toucher les Pokémon Spectre avec des capacités Normal ou Combat. Sa Précision ne peut pas baisser.", }, supersweetSyrup: { - name: "Supersweet Syrup", - description: "A sickly sweet scent spreads across the field the first time the Pokémon enters a battle, lowering the evasiveness of opposing Pokémon.", + name: "Nectar Mielleux", + description: "La première fois que le Pokémon entre au combat, une odeur de nectar sucré se répand sur le terrain, ce qui baisse l’Esquive de l’adversaire.", }, hospitality: { - name: "Hospitality", - description: "When the Pokémon enters a battle, it showers its ally with hospitality, restoring a small amount of the ally's HP.", + name: "Aux Petits Soins", + description: "Quand il rejoint le combat, ce Pokémon est aux petits soins avec son allié et restaure quelques PV.", }, toxicChain: { - name: "Toxic Chain", - description: "The power of the Pokémon's toxic chain may badly poison any target the Pokémon hits with a move.", + name: "Chaîne Toxique", + description: "Grâce aux pouvoirs de sa chaine imprégnée de toxines, le Pokémon peut empoisonner gravement sa cible en la touchant avec une capacité.", }, embodyAspectTeal: { - name: "Embody Aspect", - description: "The Pokémon's heart fills with memories, causing the Teal Mask to shine and the Pokémon's Speed stat to be boosted.", + name: "Force Mémorielle", + description: "Le Pokémon fait briller le Masque Turquoise en puisant dans ses souvenirs, ce qui augmente sa Vitesse.", }, embodyAspectWellspring: { - name: "Embody Aspect", - description: "The Pokémon's heart fills with memories, causing the Wellspring Mask to shine and the Pokémon's Sp. Def stat to be boosted.", + name: "Force Mémorielle", + description: "Le Pokémon fait briller le Masque du Puits en puisant dans ses souvenirs, ce qui augmente sa Défense Spéciale.", }, embodyAspectHearthflame: { - name: "Embody Aspect", - description: "The Pokémon's heart fills with memories, causing the Hearthflame Mask to shine and the Pokémon's Attack stat to be boosted.", + name: "Force Mémorielle", + description: "Le Pokémon fait briller le Masque du Fourneau en puisant dans ses souvenirs, ce qui augmente son Attaque.", }, embodyAspectCornerstone: { - name: "Embody Aspect", - description: "The Pokémon's heart fills with memories, causing the Cornerstone Mask to shine and the Pokémon's Defense stat to be boosted.", + name: "Force Mémorielle", + description: "Le Pokémon fait briller le Masque de la Pierre en puisant dans ses souvenirs, ce qui augmente sa Défense.", }, teraShift: { - name: "Tera Shift", - description: "When the Pokémon enters a battle, it absorbs the energy around itself and transforms into its Terastal Form.", + name: "Téramorphose", + description: "Quand le Pokémon rejoint le combat, il absorbe l’énergie alentour et prend sa Forme Téracristal.", }, teraShell: { - name: "Tera Shell", - description: "The Pokémon's shell contains the powers of each type. All damage-dealing moves that hit the Pokémon when its HP is full will not be very effective.", + name: "Téra-Carapace", + description: "Grâce à sa carapace qui renferme l’énergie de tous les types, les capacités subies par ce Pokémon quand ses PV sont au maximum ne sont pas très efficaces.", }, teraformZero: { - name: "Teraform Zero", - description: "When Terapagos changes into its Stellar Form, it uses its hidden powers to eliminate all effects of weather and terrain, reducing them to zero.", + name: "Téraformation 0", + description: "Lorsque Terapagos prend sa Forme Stellaire, il utilise son pouvoir enfoui pour annuler les effets de la météo et des champs actifs.", }, poisonPuppeteer: { - name: "Poison Puppeteer", - description: "Pokémon poisoned by Pecharunt's moves will also become confused.", + name: "Emprise Toxique", + description: "Lorsque Pêchaminus empoisonne un Pokémon grâce à l’une de ses capacités, ce dernier devient également confus.", }, } as const; From 5e7356636ea1f9e4762299cf892a1b41ce3fc51f Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 26 Apr 2024 11:31:39 -0400 Subject: [PATCH 10/63] Update shiny luck mechanics and count both fusion components --- public/images/ui/legacy/shiny_1.png | Bin 0 -> 154 bytes public/images/ui/legacy/shiny_2.png | Bin 0 -> 95 bytes public/images/ui/legacy/shiny_small_1.png | Bin 0 -> 113 bytes public/images/ui/legacy/shiny_small_2.png | Bin 0 -> 82 bytes public/images/ui/shiny_1.png | Bin 0 -> 154 bytes public/images/ui/shiny_2.png | Bin 0 -> 95 bytes public/images/ui/shiny_small_1.png | Bin 0 -> 113 bytes public/images/ui/shiny_small_2.png | Bin 0 -> 82 bytes src/battle-scene.ts | 51 +++++++++++++++++++++- src/field/pokemon.ts | 2 +- src/loading-scene.ts | 4 ++ src/locales/fr/ability.ts | 4 +- src/modifier/modifier-type.ts | 21 +++++++-- src/ui/battle-info.ts | 30 +++++++++++-- src/ui/modifier-select-ui-handler.ts | 2 + src/ui/party-ui-handler.ts | 15 ++++++- src/ui/pokemon-info-container.ts | 23 +++++++++- src/ui/summary-ui-handler.ts | 29 +++++++++--- 18 files changed, 160 insertions(+), 21 deletions(-) create mode 100644 public/images/ui/legacy/shiny_1.png create mode 100644 public/images/ui/legacy/shiny_2.png create mode 100644 public/images/ui/legacy/shiny_small_1.png create mode 100644 public/images/ui/legacy/shiny_small_2.png create mode 100644 public/images/ui/shiny_1.png create mode 100644 public/images/ui/shiny_2.png create mode 100644 public/images/ui/shiny_small_1.png create mode 100644 public/images/ui/shiny_small_2.png diff --git a/public/images/ui/legacy/shiny_1.png b/public/images/ui/legacy/shiny_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7a583a7f922e895ad72f90f9b0a91da455df64 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngd!3HEhbh*6;Qi+}}jv*T7w@&irYcSw&QJ=TD z{cv@~_UpZBEZN*r>CV3zkFzXkVz?a5_~Y|5)tGYcUFrkitn?UmLIv3wNgB9ecf)AWqm4F&iPRY&@u*3S3j3^P6C{r~^}enUUM z@SpxQ5A0cT9Ktp*XzgG)tfC_Of?;*2gjyo&i99DZpNv1fJWrSyg8c(_vvAy(0Gh$z M>FVdQ&MBb@0KL&6#{d8T literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/shiny_small_2.png b/public/images/ui/legacy/shiny_small_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f9dba355eeb48b6e4c4835afa5f5bf2ac9241eb2 GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3HF?&tBaMq$E9E977~7CnrecJ^26szch!| g4}M1J4l_=Ms_Q}<6WM070u?cMy85}Sb4q9e0O%YQ4*&oF literal 0 HcmV?d00001 diff --git a/public/images/ui/shiny_1.png b/public/images/ui/shiny_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7a583a7f922e895ad72f90f9b0a91da455df64 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngd!3HEhbh*6;Qi+}}jv*T7w@&irYcSw&QJ=TD z{cv@~_UpZBEZN*r>CV3zkFzXkVz?a5_~Y|5)tGYcUFrkitn?UmLIv3wNgB9ecf)AWqm4F&iPRY&@u*3S3j3^P6C{r~^}enUUM z@SpxQ5A0cT9Ktp*XzgG)tfC_Of?;*2gjyo&i99DZpNv1fJWrSyg8c(_vvAy(0Gh$z M>FVdQ&MBb@0KL&6#{d8T literal 0 HcmV?d00001 diff --git a/public/images/ui/shiny_small_2.png b/public/images/ui/shiny_small_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f9dba355eeb48b6e4c4835afa5f5bf2ac9241eb2 GIT binary patch literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3HF?&tBaMq$E9E977~7CnrecJ^26szch!| g4}M1J4l_=Ms_Q}<6WM070u?cMy85}Sb4q9e0O%YQ4*&oF literal 0 HcmV?d00001 diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 4ea2503ec55..fdcb9cc1374 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -13,11 +13,11 @@ import { Biome } from "./data/enums/biome"; import { Arena, ArenaBase } from './field/arena'; import { GameData, PlayerGender } from './system/game-data'; import StarterSelectUiHandler from './ui/starter-select-ui-handler'; -import { TextStyle, addTextObject } from './ui/text'; +import { TextStyle, addBBCodeTextObject, addTextObject } from './ui/text'; import { Moves } from "./data/enums/moves"; import { allMoves } from "./data/move"; import { initMoves } from './data/move'; -import { ModifierPoolType, getDefaultModifierTypeForTier, getEnemyModifierTypesForWave, getModifierPoolForType } from './modifier/modifier-type'; +import { ModifierPoolType, getDefaultModifierTypeForTier, getEnemyModifierTypesForWave, getLuckString, getLuckTextTint, getModifierPoolForType, getPartyLuckValue } from './modifier/modifier-type'; import AbilityBar from './ui/ability-bar'; import { BlockItemTheftAbAttr, DoubleBattleChanceAbAttr, IncrementMovePriorityAbAttr, applyAbAttrs, initAbilities } from './data/ability'; import { Abilities } from "./data/enums/abilities"; @@ -176,6 +176,8 @@ export default class BattleScene extends SceneBase { private waveCountText: Phaser.GameObjects.Text; private moneyText: Phaser.GameObjects.Text; private scoreText: Phaser.GameObjects.Text; + private luckLabelText: Phaser.GameObjects.Text; + private luckText: Phaser.GameObjects.Text; private modifierBar: ModifierBar; private enemyModifierBar: ModifierBar; private fieldOverlay: Phaser.GameObjects.Rectangle; @@ -401,6 +403,16 @@ export default class BattleScene extends SceneBase { this.scoreText.setOrigin(1, 0); this.fieldUI.add(this.scoreText); + this.luckText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, '', TextStyle.PARTY, { fontSize: '54px' }); + this.luckText.setOrigin(1, 0); + this.luckText.setVisible(false); + this.fieldUI.add(this.luckText); + + this.luckLabelText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, 'Luck:', TextStyle.PARTY, { fontSize: '54px' }); + this.luckLabelText.setOrigin(1, 0); + this.luckLabelText.setVisible(false); + this.fieldUI.add(this.luckLabelText); + this.updateUIPositions(); this.damageNumberHandler = new DamageNumberHandler(); @@ -806,6 +818,8 @@ export default class BattleScene extends SceneBase { this.updateScoreText(); this.scoreText.setVisible(false); + [ this.luckLabelText, this.luckText ].map(t => t.setVisible(false)); + this.newArena(STARTING_BIOME_OVERRIDE || Biome.TOWN); this.arenaBgTransition.setPosition(0, 0); @@ -1220,11 +1234,44 @@ export default class BattleScene extends SceneBase { this.scoreText.setVisible(this.gameMode.isDaily); } + updateAndShowLuckText(duration: integer): void { + const labels = [ this.luckLabelText, this.luckText ]; + labels.map(t => { + t.setAlpha(0); + t.setVisible(true); + }) + const luckValue = getPartyLuckValue(this.getParty()); + this.luckText.setText(getLuckString(luckValue)); + if (luckValue < 16) + this.luckText.setTint(getLuckTextTint(luckValue)); + else + this.luckText.setTint(0x83a55a, 0xee384a, 0x5271cd, 0x7b487b); + this.luckLabelText.setX((this.game.canvas.width / 6) - 2 - (this.luckText.displayWidth + 2)); + this.tweens.add({ + targets: labels, + duration: duration, + alpha: 1 + }); + } + + hideLuckText(duration: integer): void { + const labels = [ this.luckLabelText, this.luckText ]; + this.tweens.add({ + targets: labels, + duration: duration, + alpha: 0, + onComplete: () => { + labels.map(l => l.setVisible(false)); + } + }); + } + updateUIPositions(): void { const enemyModifierCount = this.enemyModifiers.filter(m => m.isIconVisible(this)).length; this.waveCountText.setY(-(this.game.canvas.height / 6) + (enemyModifierCount ? enemyModifierCount <= 12 ? 15 : 24 : 0)); this.moneyText.setY(this.waveCountText.y + 10); this.scoreText.setY(this.moneyText.y + 10); + [ this.luckLabelText, this.luckText ].map(l => l.setY((this.scoreText.visible ? this.scoreText : this.moneyText).y + 10)); const offsetY = (this.scoreText.visible ? this.scoreText : this.moneyText).y + 15; this.partyExpBar.setY(offsetY); this.candyBar.setY(offsetY + 15); diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index cb2c3bccc7b..af97a4e65db 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -4,7 +4,7 @@ import { Variant, VariantSet, variantColorCache } from '#app/data/variant'; import { variantData } from '#app/data/variant'; import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from '../ui/battle-info'; import { Moves } from "../data/enums/moves"; -import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, VariablePowerAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, MultiHitAttr, StatusMoveTypeImmunityAttr, MoveTarget, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatChangesAttr, SacrificialAttr, VariableMoveTypeAttr, VariableMoveCategoryAttr, ExplosiveAttr } from "../data/move"; +import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, VariablePowerAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, MultiHitAttr, StatusMoveTypeImmunityAttr, MoveTarget, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatChangesAttr, SacrificialAttr, VariableMoveTypeAttr, VariableMoveCategoryAttr } from "../data/move"; import { default as PokemonSpecies, PokemonSpeciesForm, SpeciesFormKey, getFusedSpeciesName, getPokemonSpecies, getPokemonSpeciesForm, starterPassiveAbilities } from '../data/pokemon-species'; import * as Utils from '../utils'; import { Type, TypeDamageMultiplier, getTypeDamageMultiplier, getTypeRgb } from '../data/type'; diff --git a/src/loading-scene.ts b/src/loading-scene.ts index 38f82ff060e..2f37b900ab5 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -62,7 +62,11 @@ export class LoadingScene extends SceneBase { this.loadImage('achv_bar_3', 'ui'); this.loadImage('achv_bar_4', 'ui'); this.loadImage('shiny_star', 'ui', 'shiny.png'); + this.loadImage('shiny_star_1', 'ui', 'shiny_1.png'); + this.loadImage('shiny_star_2', 'ui', 'shiny_2.png'); this.loadImage('shiny_star_small', 'ui', 'shiny_small.png'); + this.loadImage('shiny_star_small_1', 'ui', 'shiny_small_1.png'); + this.loadImage('shiny_star_small_2', 'ui', 'shiny_small_2.png'); this.loadImage('ha_capsule', 'ui', 'ha_capsule.png'); this.loadImage('icon_spliced', 'ui'); this.loadImage('icon_tera', 'ui'); diff --git a/src/locales/fr/ability.ts b/src/locales/fr/ability.ts index c23ea295a26..a0c7f2d1b5d 100644 --- a/src/locales/fr/ability.ts +++ b/src/locales/fr/ability.ts @@ -1061,11 +1061,11 @@ export const ability: AbilityTranslationEntries = { name: "Sombre Ruade", description: "Quand le Pokémon met un ennemi K.O., il émet un hennissement terrifiant qui augmente son Attaque Spéciale.", }, - asOne: { + asOneGlastrier: { name: "Osmose Équine", description: "Les talents Tension de Sylveroy et Blanche Ruade de Blizzeval sont cumulés.", }, - asOne: { + asOneSpectrier: { name: "Osmose Équine", description: "Les talents Tension de Sylveroy et Sombre Ruade de Spectreval sont cumulés.", }, diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 76ab3bd5f78..19826a07aff 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -20,6 +20,7 @@ import { FormChangeItem, SpeciesFormChangeItemTrigger, pokemonFormChanges } from import { ModifierTier } from './modifier-tier'; import { Nature, getNatureName, getNatureStatMultiplier } from '#app/data/nature'; import { Localizable } from '#app/plugins/i18n'; +import { getModifierTierTextTint } from '#app/ui/text'; const outputModifierData = false; const useMaxWeightForOutput = false; @@ -1428,11 +1429,11 @@ function getNewModifierTypeOption(party: Pokemon[], poolType: ModifierPoolType, if (!upgradeCount) upgradeCount = 0; if (player && tierValue) { - const partyShinyCount = party.filter(p => p.isShiny() && !p.isFainted()).length; - const upgradeOdds = Math.floor(32 / ((partyShinyCount + 2) / 2)); + const partyLuckValue = getPartyLuckValue(party); + const upgradeOdds = Math.floor(128 / ((partyLuckValue + 4) / 4)); let upgraded = false; do { - upgraded = !Utils.randSeedInt(upgradeOdds); + upgraded = Utils.randSeedInt(upgradeOdds) < 4; if (upgraded) upgradeCount++; } while (upgraded); @@ -1515,3 +1516,17 @@ export class ModifierTypeOption { this.cost = Math.round(cost); } } + +export function getPartyLuckValue(party: Pokemon[]): integer { + return Phaser.Math.Clamp(party.map(p => p.isFainted() || !p.isShiny() ? 0 : !p.isFusion() || !p.shiny || !p.fusionShiny ? p.variant + 1 : (p.variant + 1) + (p.fusionVariant + 1)) + .reduce((total: integer, value: integer) => total += value, 0), 0, 16); +} + +export function getLuckString(luckValue: integer): string { + return [ 'D', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+', 'A++', 'S', 'S+', 'S++', 'SS', 'SS+', 'SS++', 'SSS' ][luckValue]; +} + +export function getLuckTextTint(luckValue: integer): integer { + const modifierTier = luckValue ? luckValue > 2 ? luckValue > 5 ? luckValue > 9 ? luckValue > 12 ? ModifierTier.LUXURY : ModifierTier.MASTER : ModifierTier.ROGUE : ModifierTier.ULTRA : ModifierTier.GREAT : ModifierTier.COMMON; + return getModifierTierTextTint(modifierTier); +} \ No newline at end of file diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index c26214b5940..ae794a256fa 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -31,6 +31,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { private ownedIcon: Phaser.GameObjects.Sprite; private teraIcon: Phaser.GameObjects.Sprite; private shinyIcon: Phaser.GameObjects.Sprite; + private fusionShinyIcon: Phaser.GameObjects.Sprite; private splicedIcon: Phaser.GameObjects.Sprite; private statusIndicator: Phaser.GameObjects.Sprite; private levelContainer: Phaser.GameObjects.Container; @@ -101,6 +102,13 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.shinyIcon.setInteractive(new Phaser.Geom.Rectangle(0, 0, 12, 15), Phaser.Geom.Rectangle.Contains); this.add(this.shinyIcon); + this.fusionShinyIcon = this.scene.add.sprite(0, 0, 'shiny_star_2'); + this.fusionShinyIcon.setVisible(false); + this.fusionShinyIcon.setOrigin(0, 0); + this.fusionShinyIcon.setScale(0.5) + this.fusionShinyIcon.setPosition(this.shinyIcon.x, this.shinyIcon.y); + this.add(this.fusionShinyIcon); + this.splicedIcon = this.scene.add.sprite(0, 0, 'icon_spliced'); this.splicedIcon.setVisible(false); this.splicedIcon.setOrigin(0, 0); @@ -183,21 +191,35 @@ export default class BattleInfo extends Phaser.GameObjects.Container { }); this.teraIcon.on('pointerout', () => (this.scene as BattleScene).ui.hideTooltip()); + const isFusion = pokemon.isFusion(); + this.splicedIcon.setPositionRelative(this.nameText, nameTextWidth + this.genderText.displayWidth + 1 + (this.teraIcon.visible ? this.teraIcon.displayWidth + 1 : 0), 2.5); - this.splicedIcon.setVisible(!!pokemon.fusionSpecies); + this.splicedIcon.setVisible(isFusion); if (this.splicedIcon.visible) { this.splicedIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `${pokemon.species.getName(pokemon.formIndex)}/${pokemon.fusionSpecies.getName(pokemon.fusionFormIndex)}`)); this.splicedIcon.on('pointerout', () => (this.scene as BattleScene).ui.hideTooltip()); } + const doubleShiny = isFusion && pokemon.shiny && pokemon.fusionShiny; + const baseVariant = !doubleShiny ? pokemon.getVariant() : pokemon.variant; + this.shinyIcon.setPositionRelative(this.nameText, nameTextWidth + this.genderText.displayWidth + 1 + (this.teraIcon.visible ? this.teraIcon.displayWidth + 1 : 0) + (this.splicedIcon.visible ? this.splicedIcon.displayWidth + 1 : 0), 2.5); - this.shinyIcon.setVisible(!!pokemon.isShiny()); - this.shinyIcon.setTint(getVariantTint(pokemon.getVariant())); + this.shinyIcon.setTexture(`shiny_star${doubleShiny ? '_1' : ''}`); + this.shinyIcon.setVisible(pokemon.isShiny()); + this.shinyIcon.setTint(getVariantTint(baseVariant)); if (this.shinyIcon.visible) { - this.shinyIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${pokemon.getVariant() ? ` (${pokemon.getVariant() === 2 ? 'Epic' : 'Rare'})` : ''}`)); + const shinyDescriptor = doubleShiny || baseVariant ? + `${baseVariant === 2 ? 'Epic' : baseVariant === 1 ? 'Rare' : 'Common'}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? 'Epic' : pokemon.fusionVariant === 1 ? 'Rare' : 'Common'}` : ''}` + : ''; + this.shinyIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ''}`)); this.shinyIcon.on('pointerout', () => (this.scene as BattleScene).ui.hideTooltip()); } + this.fusionShinyIcon.setPosition(this.shinyIcon.x, this.shinyIcon.y); + this.fusionShinyIcon.setVisible(doubleShiny); + if (isFusion) + this.fusionShinyIcon.setTint(getVariantTint(pokemon.fusionVariant)); + if (!this.player) { const dexEntry = pokemon.scene.gameData.dexData[pokemon.species.speciesId]; this.ownedIcon.setVisible(!!dexEntry.caughtAttr); diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts index 1bd44bfd3c4..e5252e02a8f 100644 --- a/src/ui/modifier-select-ui-handler.ts +++ b/src/ui/modifier-select-ui-handler.ts @@ -138,6 +138,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler { const maxUpgradeCount = typeOptions.map(to => to.upgradeCount).reduce((max, current) => Math.max(current, max), 0); this.scene.showFieldOverlay(750); + this.scene.updateAndShowLuckText(750); let i = 0; @@ -363,6 +364,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler { this.eraseCursor(); this.scene.hideFieldOverlay(250); + this.scene.hideLuckText(750); const options = this.options.concat(this.shopOptionsRows.flat()); this.options.splice(0, this.options.length); diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 919b9606700..30558b5bda0 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -900,12 +900,23 @@ class PartySlot extends Phaser.GameObjects.Container { } if (this.pokemon.isShiny()) { - const shinyStar = this.scene.add.image(0, 0, 'shiny_star_small'); + const doubleShiny = this.pokemon.isFusion() && this.pokemon.shiny && this.pokemon.fusionShiny; + + const shinyStar = this.scene.add.image(0, 0, `shiny_star_small${doubleShiny ? '_1' : ''}`); shinyStar.setOrigin(0, 0); shinyStar.setPositionRelative(slotName, -9, 3); - shinyStar.setTint(getVariantTint(this.pokemon.getVariant())); + shinyStar.setTint(getVariantTint(!doubleShiny ? this.pokemon.getVariant() : this.pokemon.variant)); slotInfoContainer.add(shinyStar); + + if (doubleShiny) { + const fusionShinyStar = this.scene.add.image(0, 0, `shiny_star_small_2`); + fusionShinyStar.setOrigin(0, 0); + fusionShinyStar.setPosition(shinyStar.x, shinyStar.y); + fusionShinyStar.setTint(getVariantTint(this.pokemon.fusionVariant)); + + slotInfoContainer.add(fusionShinyStar); + } } if (partyUiMode !== PartyUiMode.TM_MODIFIER) { diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index 2b2dcb07e34..4d8ecfe0b03 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -18,6 +18,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { private pokemonNatureLabelText: Phaser.GameObjects.Text; private pokemonNatureText: BBCodeText; private pokemonShinyIcon: Phaser.GameObjects.Image; + private pokemonFusionShinyIcon: Phaser.GameObjects.Image; private pokemonMovesContainer: Phaser.GameObjects.Container; private pokemonMovesContainers: Phaser.GameObjects.Container[]; private pokemonMoveBgs: Phaser.GameObjects.NineSlice[]; @@ -114,6 +115,11 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { this.pokemonShinyIcon.setInteractive(new Phaser.Geom.Rectangle(0, 0, 12, 15), Phaser.Geom.Rectangle.Contains); this.add(this.pokemonShinyIcon); + this.pokemonFusionShinyIcon = this.scene.add.image(this.pokemonShinyIcon.x, this.pokemonShinyIcon.y, 'shiny_star_2'); + this.pokemonFusionShinyIcon.setOrigin(0, 0); + this.pokemonFusionShinyIcon.setScale(0.75); + this.add(this.pokemonFusionShinyIcon); + this.setVisible(false); } @@ -135,12 +141,25 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { this.pokemonNatureText.setText(getNatureName(pokemon.getNature(), true, false, false, this.scene.uiTheme)); - this.pokemonShinyIcon.setTint(getVariantTint(pokemon.getVariant())); + const isFusion = pokemon.isFusion(); + const doubleShiny = isFusion && pokemon.shiny && pokemon.fusionShiny; + const baseVariant = !doubleShiny ? pokemon.getVariant() : pokemon.variant; + + this.pokemonShinyIcon.setTexture(`shiny_star${doubleShiny ? '_1' : ''}`); this.pokemonShinyIcon.setVisible(pokemon.isShiny()); + this.pokemonShinyIcon.setTint(getVariantTint(baseVariant)); if (this.pokemonShinyIcon.visible) { - this.pokemonShinyIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${pokemon.getVariant() ? ` (${pokemon.getVariant() === 2 ? 'Epic' : 'Rare'})` : ''}`, true)); + const shinyDescriptor = doubleShiny || baseVariant ? + `${baseVariant === 2 ? 'Epic' : baseVariant === 1 ? 'Rare' : 'Common'}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? 'Epic' : pokemon.fusionVariant === 1 ? 'Rare' : 'Common'}` : ''}` + : ''; + this.pokemonShinyIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ''}`, true)); this.pokemonShinyIcon.on('pointerout', () => (this.scene as BattleScene).ui.hideTooltip()); } + + this.pokemonFusionShinyIcon.setPosition(this.pokemonShinyIcon.x, this.pokemonShinyIcon.y); + this.pokemonFusionShinyIcon.setVisible(doubleShiny); + if (isFusion) + this.pokemonFusionShinyIcon.setTint(getVariantTint(pokemon.fusionVariant)); const originalIvs: integer[] = this.scene.gameData.dexData[pokemon.species.speciesId].caughtAttr ? this.scene.gameData.dexData[pokemon.species.speciesId].ivs diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 35a469317c1..e6f3d2233e5 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -43,6 +43,7 @@ export default class SummaryUiHandler extends UiHandler { private levelText: Phaser.GameObjects.Text; private genderText: Phaser.GameObjects.Text; private shinyIcon: Phaser.GameObjects.Image; + private fusionShinyIcon: Phaser.GameObjects.Image; private statusContainer: Phaser.GameObjects.Container; private status: Phaser.GameObjects.Image; private summaryPageContainer: Phaser.GameObjects.Container; @@ -125,6 +126,12 @@ export default class SummaryUiHandler extends UiHandler { this.shinyIcon.setInteractive(new Phaser.Geom.Rectangle(0, 0, 12, 15), Phaser.Geom.Rectangle.Contains); this.summaryContainer.add(this.shinyIcon); + this.fusionShinyIcon = this.scene.add.image(0, 0, 'shiny_star_2'); + this.fusionShinyIcon.setVisible(false); + this.fusionShinyIcon.setOrigin(0, 0); + this.fusionShinyIcon.setScale(0.75) + this.summaryContainer.add(this.fusionShinyIcon); + this.pokeball = this.scene.add.sprite(6, -19, 'pb'); this.pokeball.setOrigin(0, 1); this.summaryContainer.add(this.pokeball); @@ -137,8 +144,6 @@ export default class SummaryUiHandler extends UiHandler { this.genderText.setOrigin(0, 1); this.summaryContainer.add(this.genderText); - - this.statusContainer = this.scene.add.container(-106, -16); const statusBg = this.scene.add.image(0, 0, 'summary_status'); @@ -237,21 +242,35 @@ export default class SummaryUiHandler extends UiHandler { this.nameText.setText(this.pokemon.name); + const isFusion = this.pokemon.isFusion(); + this.splicedIcon.setPositionRelative(this.nameText, this.nameText.displayWidth + 2, 3); - this.splicedIcon.setVisible(!!this.pokemon.fusionSpecies); + this.splicedIcon.setVisible(isFusion); if (this.splicedIcon.visible) { this.splicedIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `${this.pokemon.species.getName(this.pokemon.formIndex)}/${this.pokemon.fusionSpecies.getName(this.pokemon.fusionFormIndex)}`, true)); this.splicedIcon.on('pointerout', () => (this.scene as BattleScene).ui.hideTooltip()); } + + const doubleShiny = isFusion && this.pokemon.shiny && this.pokemon.fusionShiny; + const baseVariant = !doubleShiny ? this.pokemon.getVariant() : this.pokemon.variant; this.shinyIcon.setPositionRelative(this.nameText, this.nameText.displayWidth + (this.splicedIcon.visible ? this.splicedIcon.displayWidth + 1 : 0) + 1, 3); - this.shinyIcon.setTint(getVariantTint(this.pokemon.getVariant())); + this.shinyIcon.setTexture(`shiny_star${doubleShiny ? '_1' : ''}`); this.shinyIcon.setVisible(this.pokemon.isShiny()); + this.shinyIcon.setTint(getVariantTint(baseVariant)); if (this.shinyIcon.visible) { - this.shinyIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${this.pokemon.getVariant() ? ` (${this.pokemon.getVariant() === 2 ? 'Epic' : 'Rare'})` : ''}`, true)); + const shinyDescriptor = doubleShiny || baseVariant ? + `${baseVariant === 2 ? 'Epic' : baseVariant === 1 ? 'Rare' : 'Common'}${doubleShiny ? `/${this.pokemon.fusionVariant === 2 ? 'Epic' : this.pokemon.fusionVariant === 1 ? 'Rare' : 'Common'}` : ''}` + : ''; + this.shinyIcon.on('pointerover', () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ''}`, true)); this.shinyIcon.on('pointerout', () => (this.scene as BattleScene).ui.hideTooltip()); } + this.fusionShinyIcon.setPosition(this.shinyIcon.x, this.shinyIcon.y); + this.fusionShinyIcon.setVisible(doubleShiny); + if (isFusion) + this.fusionShinyIcon.setTint(getVariantTint(this.pokemon.fusionVariant)); + this.pokeball.setFrame(getPokeballAtlasKey(this.pokemon.pokeball)); this.levelText.setText(this.pokemon.level.toString()); this.genderText.setText(getGenderSymbol(this.pokemon.getGender(true))); From c1f53f00b1754873de3320f3498d86cb4b359a70 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 26 Apr 2024 11:39:54 -0400 Subject: [PATCH 11/63] Lower luck cap --- src/battle-scene.ts | 2 +- src/modifier/modifier-type.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index fdcb9cc1374..73fa000d840 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -1242,7 +1242,7 @@ export default class BattleScene extends SceneBase { }) const luckValue = getPartyLuckValue(this.getParty()); this.luckText.setText(getLuckString(luckValue)); - if (luckValue < 16) + if (luckValue < 14) this.luckText.setTint(getLuckTextTint(luckValue)); else this.luckText.setTint(0x83a55a, 0xee384a, 0x5271cd, 0x7b487b); diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 19826a07aff..d88c396df7b 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1519,14 +1519,14 @@ export class ModifierTypeOption { export function getPartyLuckValue(party: Pokemon[]): integer { return Phaser.Math.Clamp(party.map(p => p.isFainted() || !p.isShiny() ? 0 : !p.isFusion() || !p.shiny || !p.fusionShiny ? p.variant + 1 : (p.variant + 1) + (p.fusionVariant + 1)) - .reduce((total: integer, value: integer) => total += value, 0), 0, 16); + .reduce((total: integer, value: integer) => total += value, 0), 0, 14); } export function getLuckString(luckValue: integer): string { - return [ 'D', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+', 'A++', 'S', 'S+', 'S++', 'SS', 'SS+', 'SS++', 'SSS' ][luckValue]; + return [ 'D', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+', 'A++', 'S', 'S+', 'SS', 'SS+', 'SSS' ][luckValue]; } export function getLuckTextTint(luckValue: integer): integer { - const modifierTier = luckValue ? luckValue > 2 ? luckValue > 5 ? luckValue > 9 ? luckValue > 12 ? ModifierTier.LUXURY : ModifierTier.MASTER : ModifierTier.ROGUE : ModifierTier.ULTRA : ModifierTier.GREAT : ModifierTier.COMMON; + const modifierTier = luckValue ? luckValue > 2 ? luckValue > 5 ? luckValue > 9 ? luckValue > 11 ? ModifierTier.LUXURY : ModifierTier.MASTER : ModifierTier.ROGUE : ModifierTier.ULTRA : ModifierTier.GREAT : ModifierTier.COMMON; return getModifierTierTextTint(modifierTier); } \ No newline at end of file From def36e32d1b95dad58e333f7538cdd35c5b37618 Mon Sep 17 00:00:00 2001 From: shayebeadlingkl Date: Fri, 26 Apr 2024 12:16:56 -0400 Subject: [PATCH 12/63] adds missing brackets to psycho shift attribute to fix unreachable condition --- src/data/move.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index c963b951c42..f56bd7fcbac 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1020,7 +1020,7 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { if (target.status) { return false; } - if (!target.status || (target.status.effect === statusToApply && move.chance < 0)) + if (!target.status || (target.status.effect === statusToApply && move.chance < 0)){ var statusAfflictResult = target.trySetStatus(statusToApply, true); if (statusAfflictResult) { user.scene.queueMessage(getPokemonMessage(user, getStatusEffectHealText(user.status.effect))); @@ -1028,6 +1028,7 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { user.updateInfo(); } return statusAfflictResult; + } return false; } From f9b999b744da1619f896b016078460958856b0ac Mon Sep 17 00:00:00 2001 From: shayebeadlingkl Date: Fri, 26 Apr 2024 12:18:01 -0400 Subject: [PATCH 13/63] spacing --- src/data/move.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index f56bd7fcbac..c9be9f9bd53 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1020,7 +1020,7 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { if (target.status) { return false; } - if (!target.status || (target.status.effect === statusToApply && move.chance < 0)){ + if (!target.status || (target.status.effect === statusToApply && move.chance < 0)) { var statusAfflictResult = target.trySetStatus(statusToApply, true); if (statusAfflictResult) { user.scene.queueMessage(getPokemonMessage(user, getStatusEffectHealText(user.status.effect))); From f38b1dc0d739fad83117ed74dd6bf52ed07f24ff Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 26 Apr 2024 12:24:54 -0400 Subject: [PATCH 14/63] Add animated E-Max Eternatus sprite by RetroNC --- public/images/pokemon/890-eternamax.json | 736 +++++++++++++++++- public/images/pokemon/890-eternamax.png | Bin 1708 -> 40595 bytes public/images/pokemon/input/sheet.bat | 3 + .../images/pokemon/shiny/890-eternamax.json | 736 +++++++++++++++++- public/images/pokemon/shiny/890-eternamax.png | Bin 1708 -> 40592 bytes 5 files changed, 1453 insertions(+), 22 deletions(-) create mode 100644 public/images/pokemon/input/sheet.bat diff --git a/public/images/pokemon/890-eternamax.json b/public/images/pokemon/890-eternamax.json index 4555295b172..98cb6f20446 100644 --- a/public/images/pokemon/890-eternamax.json +++ b/public/images/pokemon/890-eternamax.json @@ -4,30 +4,744 @@ "image": "890-eternamax.png", "format": "RGBA8888", "size": { - "w": 96, - "h": 96 + "w": 579, + "h": 579 }, "scale": 1, "frames": [ { - "filename": "0001.png", + "filename": "0035.png", "rotated": false, - "trimmed": false, + "trimmed": true, "sourceSize": { - "w": 96, - "h": 96 + "w": 112, + "h": 112 }, "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 96 + "x": 8, + "y": 9, + "w": 100, + "h": 98 }, "frame": { "x": 0, "y": 0, + "w": 100, + "h": 98 + } + }, + { + "filename": "0031.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 95, + "h": 100 + }, + "frame": { + "x": 100, + "y": 0, + "w": 95, + "h": 100 + } + }, + { + "filename": "0029.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, + "w": 91, + "h": 100 + }, + "frame": { + "x": 0, + "y": 98, + "w": 91, + "h": 100 + } + }, + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 9, "w": 96, + "h": 98 + }, + "frame": { + "x": 91, + "y": 100, + "w": 96, + "h": 98 + } + }, + { + "filename": "0032.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 9, + "w": 95, + "h": 99 + }, + "frame": { + "x": 187, + "y": 100, + "w": 95, + "h": 99 + } + }, + { + "filename": "0030.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 9, + "y": 10, + "w": 91, + "h": 98 + }, + "frame": { + "x": 0, + "y": 198, + "w": 91, + "h": 98 + } + }, + { + "filename": "0007.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 88, + "h": 98 + }, + "frame": { + "x": 91, + "y": 198, + "w": 88, + "h": 98 + } + }, + { + "filename": "0002.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 10, + "w": 95, + "h": 97 + }, + "frame": { + "x": 195, + "y": 0, + "w": 95, + "h": 97 + } + }, + { + "filename": "0003.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 95, + "h": 97 + }, + "frame": { + "x": 179, + "y": 199, + "w": 95, + "h": 97 + } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 95, + "h": 97 + }, + "frame": { + "x": 274, + "y": 199, + "w": 95, + "h": 97 + } + }, + { + "filename": "0033.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 95, + "h": 97 + }, + "frame": { + "x": 290, + "y": 0, + "w": 95, + "h": 97 + } + }, + { + "filename": "0034.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 94, "h": 96 + }, + "frame": { + "x": 282, + "y": 97, + "w": 94, + "h": 96 + } + }, + { + "filename": "0028.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 11, + "w": 90, + "h": 97 + }, + "frame": { + "x": 369, + "y": 193, + "w": 90, + "h": 97 + } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 13, + "w": 93, + "h": 95 + }, + "frame": { + "x": 385, + "y": 0, + "w": 93, + "h": 95 + } + }, + { + "filename": "0017.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 91, + "h": 96 + }, + "frame": { + "x": 385, + "y": 95, + "w": 91, + "h": 96 + } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 87, + "h": 97 + }, + "frame": { + "x": 369, + "y": 290, + "w": 87, + "h": 97 + } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 12, + "w": 90, + "h": 96 + }, + "frame": { + "x": 456, + "y": 290, + "w": 90, + "h": 96 + } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 90, + "h": 96 + }, + "frame": { + "x": 459, + "y": 191, + "w": 90, + "h": 96 + } + }, + { + "filename": "0016.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 8, + "w": 90, + "h": 95 + }, + "frame": { + "x": 476, + "y": 95, + "w": 90, + "h": 95 + } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 89, + "h": 95 + }, + "frame": { + "x": 478, + "y": 0, + "w": 89, + "h": 95 + } + }, + { + "filename": "0027.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 12, + "w": 89, + "h": 96 + }, + "frame": { + "x": 456, + "y": 386, + "w": 89, + "h": 96 + } + }, + { + "filename": "0025.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 11, + "w": 89, + "h": 95 + }, + "frame": { + "x": 0, + "y": 296, + "w": 89, + "h": 95 + } + }, + { + "filename": "0006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 9, + "y": 14, + "w": 89, + "h": 94 + }, + "frame": { + "x": 89, + "y": 296, + "w": 89, + "h": 94 + } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 88, + "h": 95 + }, + "frame": { + "x": 178, + "y": 296, + "w": 88, + "h": 95 + } + }, + { + "filename": "0023.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 87, + "h": 95 + }, + "frame": { + "x": 89, + "y": 390, + "w": 87, + "h": 95 + } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 12, + "w": 89, + "h": 94 + }, + "frame": { + "x": 0, + "y": 391, + "w": 89, + "h": 94 + } + }, + { + "filename": "0012.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 14, + "w": 89, + "h": 93 + }, + "frame": { + "x": 266, + "y": 387, + "w": 89, + "h": 93 + } + }, + { + "filename": "0019.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 16, + "y": 13, + "w": 85, + "h": 91 + }, + "frame": { + "x": 266, + "y": 296, + "w": 85, + "h": 91 + } + }, + { + "filename": "0024.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 13, + "w": 88, + "h": 94 + }, + "frame": { + "x": 176, + "y": 391, + "w": 88, + "h": 94 + } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 13, + "w": 87, + "h": 94 + }, + "frame": { + "x": 355, + "y": 387, + "w": 87, + "h": 94 + } + }, + { + "filename": "0018.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 16, + "y": 11, + "w": 87, + "h": 94 + }, + "frame": { + "x": 264, + "y": 480, + "w": 87, + "h": 94 + } + }, + { + "filename": "0026.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 14, + "w": 89, + "h": 93 + }, + "frame": { + "x": 351, + "y": 481, + "w": 89, + "h": 93 + } + }, + { + "filename": "0022.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 87, + "h": 93 + }, + "frame": { + "x": 440, + "y": 482, + "w": 87, + "h": 93 + } + }, + { + "filename": "0021.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 10, + "w": 86, + "h": 94 + }, + "frame": { + "x": 0, + "y": 485, + "w": 86, + "h": 94 + } + }, + { + "filename": "0020.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 14, + "w": 85, + "h": 91 + }, + "frame": { + "x": 86, + "y": 485, + "w": 85, + "h": 91 } } ] @@ -36,6 +750,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2f58479d6e423d47c2e020de79121c9e:2b0d210cee7325446481599b7b95c52b:4db8b375066b8984bad6ce8eed9a5f6f$" + "smartupdate": "$TexturePacker:SmartUpdate:8fd9e1830200ec8e4aac8571cc2d27a6:c966e3efce03c7bae43d7bca6d6dfa62:cedd2711a12bbacba5623505fe88bd92$" } } diff --git a/public/images/pokemon/890-eternamax.png b/public/images/pokemon/890-eternamax.png index 65552024ac6f800e8feb805863b77688a044c17b..33c8f5f96318b1cf75ab8b8add7e86c833c4b8da 100644 GIT binary patch literal 40595 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 D0Q9kL delta 1667 zcmV-}27LLGy#lNaA&F2X-I?6cPR3h-Wy zA`3V;i0Omg<4w`Su7}8hm12On?Vv*ah~SJyF>)Xzeu=@E8MMJg)GQasQ;9J!Qi{(; zh+CKD*BCqu9+~(b5?`INQrDPE#OJ>!pUeO}cQYT@fo=P*jhXx&$8CU0Vt)`&1|i)6BeB7{F`qt-#5-nzqIrvzWmY=xk&-cHoG!L& z%(b0~O7UEEaCYXOjUb1pRApK692<`x1eF1@;Axwb)_xS|C5oae3 zBaRLjkOe@CB{B=_htv|$ai4XP?l2kSTi}Gc0bg9}DNr*Y5gFAM)E(Z52mJ{GfF0Od z43IXG<_RHO#U#!v^n|E%I>@JOfD9bIxJ6kCYPyMzMJYJeA%C6cedaRj#&IFJGeF2vHnRB)S*E~3&$k@_i!>W--P;(;51t0N`g{+$vC ztpuXN`Ew4kCwMZhyyQaIQozZ5P}7IE$zBSKaZbhB>t}?cz<}}r2ZafKup2<$h&tJT>&6nbCHudJ^r6Z16pzn!iIU_`B`!NB>B#^`m{vn1IlxEx_i00Kh+O zvTTLbQMB!NS-^J0W;9adZ{~cYaa~41ryp&j$^tJCEPrD&&=p(n%fW?4HIZS>%@Wju zFTWlXfA+(T|EY@zRbR^*N6aVzjXr_siRx<<7oL#;Ex;*?X-!s-as&9~REaoLwz zZ@Z}SK*Z8~te%$Djg6}h6ANmbLoNuUL_}_Wf)srIFzL56?xT7rC`&;oBX% zAnpu~(>?KrfYuI>V*p^AD*%}HX?vYc49pKj)_)PF>A(VJS59G=7|@Z5+mN2KP-pZc z57Pe0{El6lBool8&8D?=?IGBdo&{|7zL8ZD8_<|$rKiKY4=AHyI4v*-A#~CO&HvU~ zM@wLzY8L}e=0G-sO5BNWuM7VnICS?EayCCxLWfux4BEFjw59dZ46-&vhuxkjFI`yN zTYseZ4}fTnkB7|A#nZnp1G;w$h_5IBT7EaSS`k~m#uS?abfUnS&U3fKG8iIT zT>J;qdG4230{&RtS{iEa;qj+qwlu<`qSwp-Wa~b7aVJBDm;vY#V2gjJOJ(HoppC^< zK(j{3ujc~=M=0UGX&R{})rjW<^U^u-DLqXDi86j?2{{&>Jw1oR0r{~rc+ta^;G3vU1b N002ovPDHLkV1hgX48i~a diff --git a/public/images/pokemon/input/sheet.bat b/public/images/pokemon/input/sheet.bat new file mode 100644 index 00000000000..53db168fc6e --- /dev/null +++ b/public/images/pokemon/input/sheet.bat @@ -0,0 +1,3 @@ +SET "PATH=C:/Program Files/CodeAndWeb/TexturePacker/bin;%PATH%" + +forfiles /s /m *.gif /c "cmd /c mkdir @FNAME && ffmpeg -i "@FILE" @FNAME/%%04d.png" \ No newline at end of file diff --git a/public/images/pokemon/shiny/890-eternamax.json b/public/images/pokemon/shiny/890-eternamax.json index a6acc7b8ba1..26813186ba8 100644 --- a/public/images/pokemon/shiny/890-eternamax.json +++ b/public/images/pokemon/shiny/890-eternamax.json @@ -4,30 +4,744 @@ "image": "890-eternamax.png", "format": "RGBA8888", "size": { - "w": 96, - "h": 96 + "w": 579, + "h": 579 }, "scale": 1, "frames": [ { - "filename": "0001.png", + "filename": "0035.png", "rotated": false, - "trimmed": false, + "trimmed": true, "sourceSize": { - "w": 96, - "h": 96 + "w": 112, + "h": 112 }, "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 96, - "h": 96 + "x": 8, + "y": 9, + "w": 100, + "h": 98 }, "frame": { "x": 0, "y": 0, + "w": 100, + "h": 98 + } + }, + { + "filename": "0031.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 95, + "h": 100 + }, + "frame": { + "x": 100, + "y": 0, + "w": 95, + "h": 100 + } + }, + { + "filename": "0029.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, + "w": 91, + "h": 100 + }, + "frame": { + "x": 0, + "y": 98, + "w": 91, + "h": 100 + } + }, + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 9, "w": 96, + "h": 98 + }, + "frame": { + "x": 91, + "y": 100, + "w": 96, + "h": 98 + } + }, + { + "filename": "0032.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 9, + "w": 95, + "h": 99 + }, + "frame": { + "x": 187, + "y": 100, + "w": 95, + "h": 99 + } + }, + { + "filename": "0030.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 9, + "y": 10, + "w": 91, + "h": 98 + }, + "frame": { + "x": 0, + "y": 198, + "w": 91, + "h": 98 + } + }, + { + "filename": "0007.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 88, + "h": 98 + }, + "frame": { + "x": 91, + "y": 198, + "w": 88, + "h": 98 + } + }, + { + "filename": "0002.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 10, + "w": 95, + "h": 97 + }, + "frame": { + "x": 195, + "y": 0, + "w": 95, + "h": 97 + } + }, + { + "filename": "0003.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 95, + "h": 97 + }, + "frame": { + "x": 179, + "y": 199, + "w": 95, + "h": 97 + } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 95, + "h": 97 + }, + "frame": { + "x": 274, + "y": 199, + "w": 95, + "h": 97 + } + }, + { + "filename": "0033.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 95, + "h": 97 + }, + "frame": { + "x": 290, + "y": 0, + "w": 95, + "h": 97 + } + }, + { + "filename": "0034.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 11, + "w": 94, "h": 96 + }, + "frame": { + "x": 282, + "y": 97, + "w": 94, + "h": 96 + } + }, + { + "filename": "0028.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 11, + "w": 90, + "h": 97 + }, + "frame": { + "x": 369, + "y": 193, + "w": 90, + "h": 97 + } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 8, + "y": 13, + "w": 93, + "h": 95 + }, + "frame": { + "x": 385, + "y": 0, + "w": 93, + "h": 95 + } + }, + { + "filename": "0017.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 91, + "h": 96 + }, + "frame": { + "x": 385, + "y": 95, + "w": 91, + "h": 96 + } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 87, + "h": 97 + }, + "frame": { + "x": 369, + "y": 290, + "w": 87, + "h": 97 + } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 12, + "w": 90, + "h": 96 + }, + "frame": { + "x": 456, + "y": 290, + "w": 90, + "h": 96 + } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 90, + "h": 96 + }, + "frame": { + "x": 459, + "y": 191, + "w": 90, + "h": 96 + } + }, + { + "filename": "0016.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 8, + "w": 90, + "h": 95 + }, + "frame": { + "x": 476, + "y": 95, + "w": 90, + "h": 95 + } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 89, + "h": 95 + }, + "frame": { + "x": 478, + "y": 0, + "w": 89, + "h": 95 + } + }, + { + "filename": "0027.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 12, + "w": 89, + "h": 96 + }, + "frame": { + "x": 456, + "y": 386, + "w": 89, + "h": 96 + } + }, + { + "filename": "0025.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 11, + "w": 89, + "h": 95 + }, + "frame": { + "x": 0, + "y": 296, + "w": 89, + "h": 95 + } + }, + { + "filename": "0006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 9, + "y": 14, + "w": 89, + "h": 94 + }, + "frame": { + "x": 89, + "y": 296, + "w": 89, + "h": 94 + } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 88, + "h": 95 + }, + "frame": { + "x": 178, + "y": 296, + "w": 88, + "h": 95 + } + }, + { + "filename": "0023.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 87, + "h": 95 + }, + "frame": { + "x": 89, + "y": 390, + "w": 87, + "h": 95 + } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 12, + "w": 89, + "h": 94 + }, + "frame": { + "x": 0, + "y": 391, + "w": 89, + "h": 94 + } + }, + { + "filename": "0012.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 14, + "w": 89, + "h": 93 + }, + "frame": { + "x": 266, + "y": 387, + "w": 89, + "h": 93 + } + }, + { + "filename": "0019.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 16, + "y": 13, + "w": 85, + "h": 91 + }, + "frame": { + "x": 266, + "y": 296, + "w": 85, + "h": 91 + } + }, + { + "filename": "0024.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 13, + "w": 88, + "h": 94 + }, + "frame": { + "x": 176, + "y": 391, + "w": 88, + "h": 94 + } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 13, + "w": 87, + "h": 94 + }, + "frame": { + "x": 355, + "y": 387, + "w": 87, + "h": 94 + } + }, + { + "filename": "0018.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 16, + "y": 11, + "w": 87, + "h": 94 + }, + "frame": { + "x": 264, + "y": 480, + "w": 87, + "h": 94 + } + }, + { + "filename": "0026.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 11, + "y": 14, + "w": 89, + "h": 93 + }, + "frame": { + "x": 351, + "y": 481, + "w": 89, + "h": 93 + } + }, + { + "filename": "0022.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 87, + "h": 93 + }, + "frame": { + "x": 440, + "y": 482, + "w": 87, + "h": 93 + } + }, + { + "filename": "0021.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 10, + "w": 86, + "h": 94 + }, + "frame": { + "x": 0, + "y": 485, + "w": 86, + "h": 94 + } + }, + { + "filename": "0020.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 112, + "h": 112 + }, + "spriteSourceSize": { + "x": 13, + "y": 14, + "w": 85, + "h": 91 + }, + "frame": { + "x": 86, + "y": 485, + "w": 85, + "h": 91 } } ] @@ -36,6 +750,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:0cac0dd79f7ca3a2c1898bd0fe75b738:8407b6d20dfa128fb562fb521b0ce248:4db8b375066b8984bad6ce8eed9a5f6f$" + "smartupdate": "$TexturePacker:SmartUpdate:1eb3f67ba4e434995b4589c97560f1be:539129d777c30d08fa799dcebaeb523e:cf277fd83435e8c90cd46073c543568b$" } } diff --git a/public/images/pokemon/shiny/890-eternamax.png b/public/images/pokemon/shiny/890-eternamax.png index 711cab67f2a8e4a77321afab3adfb38bd4322e57..3e7b5c1721f508790067ab31aef1ccd1b7d4ae91 100644 GIT binary patch literal 40592 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

%ERCn)Z2?M1y3c9EG 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 A#sB~S delta 1667 zcmV-}27LLDy#lNaA&F243ua-pg#9rjrLJm4elt~HVNGA3%-J2?RsnyXE$ z_9!Q8WnEcLvs!7H*~_w*A>_niG*S3+TWy;dOgF)Yc~V;jy`SEnE*E(`D7TLgoID{Y zBSgps74lfCr-0`dM0C-nM~HzC;(x0J{&GRPh*F~s(d_E4wdL0@B%(sZ*=Mcs72th8 ziY(yZAf^v`k2gh+IvyeiR*C`QmV*lQBZ4y;#mIq>_!S0cX3zo`QL|hiPbJ2{NGU!W zA#PooUt{nvcx2*#Nc{ekl{&^;BEI-N`D6y*xtsaG4s6?hZOr8NIBo${5`Tk$Di_ER zf+8Jrnb>4lC&i*uA0q_$;9GDN)F;0|k?j8IzeE>{Zhe%vxl_}Z7vFe@gYqsFWjYmaz&z!u-f6GnDj72EI-Hp$xLL|`6h zFw%LU2#H;^o4p)kd6&352!DBiHwftr7>NzmjrsIxB;GL#6wO<#EVI&ikCcot<8-kd zW3KH?EEo6|eE5#MzBH(cfBpO~sGIAKNf>2$KyH>kvywS$LAiJ(WU+8FKAQ|kAt#@f zRipHq?dV>ya)rl8)i7Z`wZJjeB)LXa2s1&05Gh?$Kr68qm=+<0XV-5(17JDG z0=^*TI>Tg)Z-Eo)27Ga?r$EhsL}XN3P+_^U} zjcmTa@^QBzY@Et)#}V9C;6Mr>xDZPNQ^9RMx`;|2N9v~_sym|EiwAB5u8x#|`*%tp zv=WF4=g&FFp5V#2@`?*#O93bMK}{dsCVMF`#yJ&hlQ-2@oP*$O`G@1_=6DKbU18On z8-O8ybFgod;eX+Yllljo0Wk&ZBlF%&MB~k2rA4wrHcu>2zyO5fA+Gsr@Bh8O-57^? zU~inJr>_Kr@YK+MZbsYP>Pd7UvcV6CYW@zb;P1A>AN^y!){hP_V*)~(wg8(00s#NC z$+8<(N71(9WdYj}o6$&-znSxq#&sD5?S8b4Dhs?suz!rrKu2u7F9#PI)kKChH%m|t zzWjPn{MipT{--V?RDCUL95JH=kS{>kokklM>KfIW47JV#i&IWT7po&wH_xtNJ%7=I6v(DG1Mu-ih?}d+VbVX;+ZvT^UiZ5tbZd;(}4xduAIU!F`y$Aw;(-dq0Z<@ z9;W@1`5n79NhY9Gi%o0m+C#7@Jqy_EeIu(RHlQ)hN>7J(A5ccaa9UsvLTIN8n*Xh} zj+Vdy)h-5{%zUKjpDaOCbO5Ub?Wj zw|_|S9{|xDBcB&z(}k(Ki>H5I26XQh5MNOMwES*tbtATXjVU$<=tO}to#$?eWiUjx zxcCpJ^V~171pKkOwKUY;!{blKY-xl=MX#9w$ku)E@=k^fF$2&gz!v{bm&(ZFK^u#! zfM$)5U(W{$j$q`;;iID!Cr=L=VH4R(pjZ~7A}fTHhpPc9J!C6^=1PF4TjgZMt-=a` z9-&@wNvKa&0yNwkuLOwL8*i=z=*tuKM+00HD6(2?{qcaW2 Date: Fri, 26 Apr 2024 13:05:48 -0400 Subject: [PATCH 15/63] Cap costs at max safe integer --- src/modifier/modifier-type.ts | 2 +- src/phases.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index d88c396df7b..54484a1e0f8 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1513,7 +1513,7 @@ export class ModifierTypeOption { constructor(type: ModifierType, upgradeCount: integer, cost: number = 0) { this.type = type; this.upgradeCount = upgradeCount; - this.cost = Math.round(cost); + this.cost = Math.min(Math.round(cost), Number.MAX_SAFE_INTEGER); } } diff --git a/src/phases.ts b/src/phases.ts index c7ff49e2e4c..ad4f52e55a0 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -4379,7 +4379,7 @@ export class SelectModifierPhase extends BattlePhase { baseValue += tierValues[opt.type.tier]; } else baseValue = 250; - return Math.ceil(this.scene.currentBattle.waveIndex / 10) * baseValue * Math.pow(2, this.rerollCount); + return Math.min(Math.ceil(this.scene.currentBattle.waveIndex / 10) * baseValue * Math.pow(2, this.rerollCount), Number.MAX_SAFE_INTEGER); } getPoolType(): ModifierPoolType { From 252e20650de4e6b4f80f8167b6b0a70f2b483e2a Mon Sep 17 00:00:00 2001 From: PabloG02 Date: Fri, 26 Apr 2024 19:16:14 +0200 Subject: [PATCH 16/63] Translate command, menu UI, and stats into Spanish --- src/locales/es/command-ui-handler.ts | 6 ++--- src/locales/es/menu-ui-handler.ts | 38 ++++++++++++++-------------- src/locales/es/pokemon-stat.ts | 24 +++++++++--------- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/locales/es/command-ui-handler.ts b/src/locales/es/command-ui-handler.ts index 889c1378b08..237e779db03 100644 --- a/src/locales/es/command-ui-handler.ts +++ b/src/locales/es/command-ui-handler.ts @@ -1,9 +1,9 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const commandUiHandler: SimpleTranslationEntries = { - "fight": "Fight", + "fight": "Luchar", "ball": "Ball", "pokemon": "Pokémon", - "run": "Run", - "actionMessage": "What will\n{{pokemonName}} do?", + "run": "Huir", + "actionMessage": "¿Qué debería\nhacer {{pokemonName}}?", } as const; \ No newline at end of file diff --git a/src/locales/es/menu-ui-handler.ts b/src/locales/es/menu-ui-handler.ts index 5fde37ae360..ba7ea78fd8f 100644 --- a/src/locales/es/menu-ui-handler.ts +++ b/src/locales/es/menu-ui-handler.ts @@ -1,23 +1,23 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const menuUiHandler: SimpleTranslationEntries = { - "GAME_SETTINGS": 'Game Settings', - "ACHIEVEMENTS": "Achievements", - "STATS": "Stats", - "VOUCHERS": "Vouchers", - "EGG_LIST": "Egg List", - "EGG_GACHA": "Egg Gacha", - "MANAGE_DATA": "Manage Data", - "COMMUNITY": "Community", - "RETURN_TO_TITLE": "Return To Title", - "LOG_OUT": "Log Out", - "slot": "Slot {{slotNumber}}", - "importSession": "Import Session", - "importSlotSelect": "Select a slot to import to.", - "exportSession": "Export Session", - "exportSlotSelect": "Select a slot to export from.", - "importData": "Import Data", - "exportData": "Export Data", - "cancel": "Cancel", - "losingProgressionWarning": "You will lose any progress since the beginning of the battle. Proceed?" + "GAME_SETTINGS": 'Ajustes', + "ACHIEVEMENTS": "Logros", + "STATS": "Estadísticas", + "VOUCHERS": "Vales", + "EGG_LIST": "Lista de Huevos", + "EGG_GACHA": "Gacha de Huevos", + "MANAGE_DATA": "Gestionar Datos", + "COMMUNITY": "Comunidad", + "RETURN_TO_TITLE": "Volver al Título", + "LOG_OUT": "Cerrar Sesión", + "slot": "Ranura {{slotNumber}}", + "importSession": "Importar Sesión", + "importSlotSelect": "Selecciona una ranura para importar.", + "exportSession": "Exportar Sesión", + "exportSlotSelect": "Selecciona una ranura para exportar.", + "importData": "Importar Datos", + "exportData": "Exportar Datos", + "cancel": "Cancelar", + "losingProgressionWarning": "Perderás cualquier progreso desde el inicio de la batalla. ¿Continuar?" } as const; \ No newline at end of file diff --git a/src/locales/es/pokemon-stat.ts b/src/locales/es/pokemon-stat.ts index 7a209461b11..276b099bf74 100644 --- a/src/locales/es/pokemon-stat.ts +++ b/src/locales/es/pokemon-stat.ts @@ -1,16 +1,16 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const pokemonStat: SimpleTranslationEntries = { - "HP": "Max. HP", - "HPshortened": "MaxHP", - "ATK": "Attack", - "ATKshortened": "Atk", - "DEF": "Defense", - "DEFshortened": "Def", - "SPATK": "Sp. Atk", - "SPATKshortened": "SpAtk", - "SPDEF": "Sp. Def", - "SPDEFshortened": "SpDef", - "SPD": "Speed", - "SPDshortened": "Spd" + "HP": "PV", + "HPshortened": "PV", + "ATK": "Ataque", + "ATKshortened": "Ataque", + "DEF": "Defensa", + "DEFshortened": "Defensa", + "SPATK": "At. Esp.", + "SPATKshortened": "At. Esp.", + "SPDEF": "Def. Esp.", + "SPDEFshortened": "Def. Esp.", + "SPD": "Velocidad", + "SPDshortened": "Veloc." } as const; \ No newline at end of file From 733eedd12f7452d58e263bffd2649ea2ff627540 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 26 Apr 2024 13:19:43 -0400 Subject: [PATCH 17/63] Change logout to a GET request --- src/ui/menu-ui-handler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index 8444d8aa577..03d93699e75 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -311,7 +311,7 @@ export default class MenuUiHandler extends MessageUiHandler { case MenuOptions.LOG_OUT: success = true; const doLogout = () => { - Utils.apiPost('account/logout', undefined, undefined, true).then(res => { + Utils.apiFetch('account/logout', true).then(res => { if (!res.ok) console.error(`Log out failed (${res.status}: ${res.statusText})`); Utils.setCookie(Utils.sessionIdKey, ''); From 7031ae797f58bf7e9bd0302d82d3b2b8b12bd5d6 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 26 Apr 2024 13:33:08 -0400 Subject: [PATCH 18/63] Update shiny variants --- .../images/pokemon/icons/variant/1/118_2.png | Bin 0 -> 672 bytes .../images/pokemon/icons/variant/1/118_3.png | Bin 0 -> 671 bytes .../images/pokemon/icons/variant/1/119_1.png | Bin 0 -> 713 bytes .../images/pokemon/icons/variant/1/119_2.png | Bin 0 -> 721 bytes .../images/pokemon/icons/variant/1/119_3.png | Bin 0 -> 722 bytes .../pokemon/icons/variant/1/150-mega-x_2.png | Bin 0 -> 731 bytes .../pokemon/icons/variant/1/150-mega-x_3.png | Bin 0 -> 725 bytes .../pokemon/icons/variant/1/150-mega-y_2.png | Bin 0 -> 761 bytes .../pokemon/icons/variant/1/150-mega-y_3.png | Bin 0 -> 774 bytes .../images/pokemon/icons/variant/1/29_2.png | Bin 0 -> 491 bytes .../images/pokemon/icons/variant/1/29_3.png | Bin 0 -> 491 bytes .../images/pokemon/icons/variant/1/30_2.png | Bin 0 -> 651 bytes .../images/pokemon/icons/variant/1/30_3.png | Bin 0 -> 646 bytes .../images/pokemon/icons/variant/1/31_2.png | Bin 0 -> 719 bytes .../images/pokemon/icons/variant/1/31_3.png | Bin 0 -> 728 bytes .../images/pokemon/icons/variant/1/41_1.png | Bin 0 -> 548 bytes .../images/pokemon/icons/variant/1/41_2.png | Bin 0 -> 531 bytes .../images/pokemon/icons/variant/1/41_3.png | Bin 0 -> 545 bytes .../images/pokemon/icons/variant/1/42_1.png | Bin 0 -> 578 bytes .../images/pokemon/icons/variant/1/42_2.png | Bin 0 -> 576 bytes .../images/pokemon/icons/variant/1/42_3.png | Bin 0 -> 577 bytes .../images/pokemon/icons/variant/1/77_2.png | Bin 0 -> 418 bytes .../images/pokemon/icons/variant/1/77_3.png | Bin 0 -> 406 bytes .../images/pokemon/icons/variant/1/78_2.png | Bin 0 -> 480 bytes .../images/pokemon/icons/variant/1/78_3.png | Bin 0 -> 476 bytes .../images/pokemon/icons/variant/2/169_1.png | Bin 0 -> 598 bytes .../images/pokemon/icons/variant/2/169_2.png | Bin 0 -> 594 bytes .../images/pokemon/icons/variant/2/169_3.png | Bin 0 -> 604 bytes .../images/pokemon/icons/variant/2/173_3.png | Bin 0 -> 431 bytes .../images/pokemon/icons/variant/2/226_2.png | Bin 0 -> 3295 bytes .../images/pokemon/icons/variant/2/226_3.png | Bin 0 -> 3291 bytes .../images/pokemon/icons/variant/3/290_1.png | Bin 0 -> 618 bytes .../images/pokemon/icons/variant/3/290_2.png | Bin 0 -> 619 bytes .../images/pokemon/icons/variant/3/290_3.png | Bin 0 -> 616 bytes .../images/pokemon/icons/variant/3/291_1.png | Bin 0 -> 3394 bytes .../images/pokemon/icons/variant/3/291_2.png | Bin 0 -> 3375 bytes .../images/pokemon/icons/variant/3/291_3.png | Bin 0 -> 3381 bytes .../images/pokemon/icons/variant/3/292_1.png | Bin 0 -> 3287 bytes .../images/pokemon/icons/variant/3/292_2.png | Bin 0 -> 3269 bytes .../images/pokemon/icons/variant/3/292_3.png | Bin 0 -> 3280 bytes .../images/pokemon/icons/variant/3/304_1.png | Bin 0 -> 463 bytes .../images/pokemon/icons/variant/3/304_2.png | Bin 0 -> 419 bytes .../images/pokemon/icons/variant/3/304_3.png | Bin 0 -> 409 bytes .../images/pokemon/icons/variant/3/305_1.png | Bin 0 -> 650 bytes .../images/pokemon/icons/variant/3/305_2.png | Bin 0 -> 653 bytes .../images/pokemon/icons/variant/3/305_3.png | Bin 0 -> 657 bytes .../pokemon/icons/variant/3/306-mega_1.png | Bin 0 -> 871 bytes .../pokemon/icons/variant/3/306-mega_2.png | Bin 0 -> 865 bytes .../pokemon/icons/variant/3/306-mega_3.png | Bin 0 -> 860 bytes .../images/pokemon/icons/variant/3/306_1.png | Bin 0 -> 785 bytes .../images/pokemon/icons/variant/3/306_2.png | Bin 0 -> 829 bytes .../images/pokemon/icons/variant/3/306_3.png | Bin 0 -> 810 bytes .../images/pokemon/icons/variant/3/309_2.png | Bin 0 -> 481 bytes .../images/pokemon/icons/variant/3/309_3.png | Bin 0 -> 508 bytes .../pokemon/icons/variant/3/310-mega_2.png | Bin 0 -> 751 bytes .../pokemon/icons/variant/3/310-mega_3.png | Bin 0 -> 710 bytes .../images/pokemon/icons/variant/3/310_2.png | Bin 0 -> 642 bytes .../images/pokemon/icons/variant/3/310_3.png | Bin 0 -> 625 bytes .../pokemon/icons/variant/3/334-mega_2.png | Bin 836 -> 3563 bytes .../pokemon/icons/variant/3/334-mega_3.png | Bin 835 -> 3538 bytes .../pokemon/icons/variant/3/351-rainy_2.png | Bin 0 -> 3250 bytes .../pokemon/icons/variant/3/351-rainy_3.png | Bin 0 -> 3254 bytes .../pokemon/icons/variant/3/351-snowy_2.png | Bin 0 -> 596 bytes .../pokemon/icons/variant/3/351-snowy_3.png | Bin 0 -> 579 bytes .../pokemon/icons/variant/3/351-sunny_2.png | Bin 0 -> 3287 bytes .../pokemon/icons/variant/3/351-sunny_3.png | Bin 0 -> 3270 bytes .../images/pokemon/icons/variant/3/351_2.png | Bin 0 -> 3141 bytes .../images/pokemon/icons/variant/3/351_3.png | Bin 0 -> 3149 bytes .../pokemon/icons/variant/3/382-primal_2.png | Bin 0 -> 852 bytes .../pokemon/icons/variant/3/382-primal_3.png | Bin 0 -> 867 bytes .../images/pokemon/icons/variant/3/382_2.png | Bin 0 -> 769 bytes .../images/pokemon/icons/variant/3/382_3.png | Bin 0 -> 771 bytes .../pokemon/icons/variant/3/383-primal_2.png | Bin 0 -> 1055 bytes .../pokemon/icons/variant/3/383-primal_3.png | Bin 0 -> 1053 bytes .../images/pokemon/icons/variant/3/383_2.png | Bin 0 -> 869 bytes .../images/pokemon/icons/variant/3/383_3.png | Bin 0 -> 890 bytes .../images/pokemon/icons/variant/4/458_2.png | Bin 0 -> 453 bytes .../images/pokemon/icons/variant/4/458_3.png | Bin 0 -> 492 bytes .../images/pokemon/icons/variant/4/480_1.png | Bin 0 -> 782 bytes .../images/pokemon/icons/variant/4/480_2.png | Bin 0 -> 788 bytes .../images/pokemon/icons/variant/4/480_3.png | Bin 0 -> 3490 bytes .../images/pokemon/icons/variant/4/481_1.png | Bin 0 -> 855 bytes .../images/pokemon/icons/variant/4/481_2.png | Bin 0 -> 878 bytes .../images/pokemon/icons/variant/4/481_3.png | Bin 0 -> 847 bytes .../images/pokemon/icons/variant/4/482_1.png | Bin 0 -> 786 bytes .../images/pokemon/icons/variant/4/482_2.png | Bin 0 -> 795 bytes .../images/pokemon/icons/variant/4/482_3.png | Bin 0 -> 795 bytes .../images/pokemon/icons/variant/5/562_2.png | Bin 0 -> 373 bytes .../images/pokemon/icons/variant/5/562_3.png | Bin 0 -> 377 bytes .../images/pokemon/icons/variant/5/563_2.png | Bin 0 -> 3611 bytes .../images/pokemon/icons/variant/5/563_3.png | Bin 0 -> 3599 bytes .../pokemon/icons/variant/5/649-burn_2.png | Bin 0 -> 780 bytes .../pokemon/icons/variant/5/649-burn_3.png | Bin 0 -> 763 bytes .../pokemon/icons/variant/5/649-chill_2.png | Bin 0 -> 781 bytes .../pokemon/icons/variant/5/649-chill_3.png | Bin 0 -> 772 bytes .../pokemon/icons/variant/5/649-douse_2.png | Bin 0 -> 781 bytes .../pokemon/icons/variant/5/649-douse_3.png | Bin 0 -> 772 bytes .../pokemon/icons/variant/5/649-shock_2.png | Bin 0 -> 779 bytes .../pokemon/icons/variant/5/649-shock_3.png | Bin 0 -> 765 bytes .../images/pokemon/icons/variant/5/649_2.png | Bin 0 -> 755 bytes .../images/pokemon/icons/variant/5/649_3.png | Bin 0 -> 739 bytes .../images/pokemon/icons/variant/6/653_2.png | Bin 0 -> 585 bytes .../images/pokemon/icons/variant/6/653_3.png | Bin 0 -> 586 bytes .../images/pokemon/icons/variant/6/654_2.png | Bin 0 -> 699 bytes .../images/pokemon/icons/variant/6/654_3.png | Bin 0 -> 697 bytes .../images/pokemon/icons/variant/6/655_2.png | Bin 0 -> 785 bytes .../images/pokemon/icons/variant/6/655_3.png | Bin 0 -> 789 bytes .../images/pokemon/icons/variant/6/690_2.png | Bin 0 -> 611 bytes .../images/pokemon/icons/variant/6/690_3.png | Bin 0 -> 594 bytes .../images/pokemon/icons/variant/6/691_2.png | Bin 0 -> 742 bytes .../images/pokemon/icons/variant/6/691_3.png | Bin 0 -> 752 bytes .../images/pokemon/icons/variant/7/771_2.png | Bin 0 -> 384 bytes .../images/pokemon/icons/variant/7/771_3.png | Bin 0 -> 398 bytes .../images/pokemon/icons/variant/7/789_2.png | Bin 0 -> 545 bytes .../images/pokemon/icons/variant/7/789_3.png | Bin 0 -> 571 bytes .../images/pokemon/icons/variant/7/790_2.png | Bin 0 -> 520 bytes .../images/pokemon/icons/variant/7/790_3.png | Bin 0 -> 535 bytes .../images/pokemon/icons/variant/7/791_2.png | Bin 0 -> 966 bytes .../images/pokemon/icons/variant/7/791_3.png | Bin 0 -> 986 bytes .../images/pokemon/icons/variant/7/792_2.png | Bin 0 -> 824 bytes .../images/pokemon/icons/variant/7/792_3.png | Bin 0 -> 837 bytes .../images/pokemon/icons/variant/7/793_2.png | Bin 0 -> 3447 bytes .../images/pokemon/icons/variant/7/793_3.png | Bin 0 -> 3451 bytes .../icons/variant/7/800-dawn-wings_2.png | Bin 0 -> 1216 bytes .../icons/variant/7/800-dawn-wings_3.png | Bin 0 -> 1196 bytes .../icons/variant/7/800-dusk-mane_2.png | Bin 0 -> 1127 bytes .../icons/variant/7/800-dusk-mane_3.png | Bin 0 -> 1148 bytes .../pokemon/icons/variant/7/800-ultra_2.png | Bin 0 -> 843 bytes .../pokemon/icons/variant/7/800-ultra_3.png | Bin 0 -> 859 bytes .../images/pokemon/icons/variant/7/800_2.png | Bin 0 -> 618 bytes .../images/pokemon/icons/variant/7/800_3.png | Bin 0 -> 662 bytes .../images/pokemon/icons/variant/8/4077_2.png | Bin 0 -> 423 bytes .../images/pokemon/icons/variant/8/4077_3.png | Bin 0 -> 423 bytes .../images/pokemon/icons/variant/8/4078_2.png | Bin 0 -> 453 bytes .../images/pokemon/icons/variant/8/4078_3.png | Bin 0 -> 453 bytes .../images/pokemon/icons/variant/8/829_2.png | Bin 0 -> 567 bytes .../images/pokemon/icons/variant/8/829_3.png | Bin 0 -> 576 bytes .../images/pokemon/icons/variant/8/830_2.png | Bin 0 -> 700 bytes .../images/pokemon/icons/variant/8/830_3.png | Bin 0 -> 705 bytes .../images/pokemon/icons/variant/9/932_2.png | Bin 0 -> 604 bytes .../images/pokemon/icons/variant/9/932_3.png | Bin 0 -> 351 bytes .../images/pokemon/icons/variant/9/933_2.png | Bin 0 -> 438 bytes .../images/pokemon/icons/variant/9/933_3.png | Bin 0 -> 438 bytes .../images/pokemon/icons/variant/9/934_2.png | Bin 0 -> 488 bytes .../images/pokemon/icons/variant/9/934_3.png | Bin 0 -> 488 bytes .../images/pokemon/icons/variant/9/948_2.png | Bin 0 -> 539 bytes .../images/pokemon/icons/variant/9/948_3.png | Bin 0 -> 549 bytes .../images/pokemon/icons/variant/9/949_2.png | Bin 0 -> 596 bytes .../images/pokemon/icons/variant/9/949_3.png | Bin 0 -> 597 bytes .../9/{967_3_GENERATED.png => 967_3.png} | Bin .../images/pokemon/icons/variant/9/994_2.png | Bin 0 -> 807 bytes .../images/pokemon/icons/variant/9/994_3.png | Bin 0 -> 824 bytes public/images/pokemon/variant/118.json | 53 + public/images/pokemon/variant/119.json | 53 + public/images/pokemon/variant/150-mega-x.json | 32 + public/images/pokemon/variant/150-mega-y.json | 32 + public/images/pokemon/variant/169.json | 47 + public/images/pokemon/variant/173_3.json | 1532 +++++++ public/images/pokemon/variant/173_3.png | Bin 0 -> 8922 bytes public/images/pokemon/variant/226_2.json | 3548 +++++++++++++++ public/images/pokemon/variant/226_2.png | Bin 0 -> 12590 bytes public/images/pokemon/variant/226_3.json | 3548 +++++++++++++++ public/images/pokemon/variant/226_3.png | Bin 0 -> 12610 bytes public/images/pokemon/variant/278.json | 47 + public/images/pokemon/variant/279_1.json | 3611 +++++++++++++++ public/images/pokemon/variant/279_1.png | Bin 0 -> 30209 bytes public/images/pokemon/variant/279_2.json | 3611 +++++++++++++++ public/images/pokemon/variant/279_2.png | Bin 0 -> 30073 bytes public/images/pokemon/variant/279_3.json | 3611 +++++++++++++++ public/images/pokemon/variant/279_3.png | Bin 0 -> 30216 bytes public/images/pokemon/variant/29.json | 30 + public/images/pokemon/variant/290.json | 53 + public/images/pokemon/variant/291_1.json | 1595 +++++++ public/images/pokemon/variant/291_1.png | Bin 0 -> 10752 bytes public/images/pokemon/variant/291_2.json | 1595 +++++++ public/images/pokemon/variant/291_2.png | Bin 0 -> 10622 bytes public/images/pokemon/variant/291_3.json | 1595 +++++++ public/images/pokemon/variant/291_3.png | Bin 0 -> 10650 bytes public/images/pokemon/variant/292.json | 17 + public/images/pokemon/variant/292_1.json | 587 +++ public/images/pokemon/variant/292_1.png | Bin 0 -> 5052 bytes public/images/pokemon/variant/292_3.json | 587 +++ public/images/pokemon/variant/292_3.png | Bin 0 -> 5062 bytes public/images/pokemon/variant/30.json | 34 + public/images/pokemon/variant/304.json | 38 + public/images/pokemon/variant/305.json | 50 + public/images/pokemon/variant/306-mega.json | 47 + public/images/pokemon/variant/306.json | 47 + public/images/pokemon/variant/309.json | 32 + public/images/pokemon/variant/31.json | 50 + public/images/pokemon/variant/310-mega.json | 30 + public/images/pokemon/variant/310.json | 34 + public/images/pokemon/variant/320.json | 34 + public/images/pokemon/variant/321.json | 32 + .../images/pokemon/variant/351-rainy_2.json | 1847 ++++++++ public/images/pokemon/variant/351-rainy_2.png | Bin 0 -> 8734 bytes .../images/pokemon/variant/351-rainy_3.json | 1847 ++++++++ public/images/pokemon/variant/351-rainy_3.png | Bin 0 -> 8729 bytes public/images/pokemon/variant/351-snowy.json | 30 + .../images/pokemon/variant/351-sunny_2.json | 2204 +++++++++ public/images/pokemon/variant/351-sunny_2.png | Bin 0 -> 11697 bytes .../images/pokemon/variant/351-sunny_3.json | 2204 +++++++++ public/images/pokemon/variant/351-sunny_3.png | Bin 0 -> 11655 bytes public/images/pokemon/variant/351_2.json | 1805 ++++++++ public/images/pokemon/variant/351_2.png | Bin 0 -> 5279 bytes public/images/pokemon/variant/351_3.json | 1805 ++++++++ public/images/pokemon/variant/351_3.png | Bin 0 -> 5277 bytes public/images/pokemon/variant/382-primal.json | 36 + public/images/pokemon/variant/382.json | 36 + public/images/pokemon/variant/383-primal.json | 34 + public/images/pokemon/variant/383.json | 36 + public/images/pokemon/variant/4077.json | 36 + public/images/pokemon/variant/4078.json | 40 + public/images/pokemon/variant/41.json | 41 + public/images/pokemon/variant/42.json | 44 + public/images/pokemon/variant/458.json | 28 + public/images/pokemon/variant/480.json | 47 + public/images/pokemon/variant/481.json | 53 + public/images/pokemon/variant/482.json | 53 + public/images/pokemon/variant/485.json | 34 + public/images/pokemon/variant/562.json | 28 + public/images/pokemon/variant/563_2.json | 3485 ++++++++++++++ public/images/pokemon/variant/563_2.png | Bin 0 -> 54578 bytes public/images/pokemon/variant/563_3.json | 3485 ++++++++++++++ public/images/pokemon/variant/563_3.png | Bin 0 -> 54654 bytes public/images/pokemon/variant/592.json | 13 + public/images/pokemon/variant/592_3.json | 3527 ++++++++++++++ public/images/pokemon/variant/592_3.png | Bin 0 -> 40535 bytes public/images/pokemon/variant/593.json | 24 + public/images/pokemon/variant/619.json | 30 + public/images/pokemon/variant/620.json | 36 + public/images/pokemon/variant/636.json | 36 + public/images/pokemon/variant/637.json | 36 + public/images/pokemon/variant/649-burn.json | 34 + public/images/pokemon/variant/649-chill.json | 32 + public/images/pokemon/variant/649-douse.json | 34 + public/images/pokemon/variant/649-shock.json | 34 + public/images/pokemon/variant/649.json | 34 + public/images/pokemon/variant/653.json | 28 + public/images/pokemon/variant/654.json | 32 + public/images/pokemon/variant/655.json | 36 + public/images/pokemon/variant/690.json | 30 + public/images/pokemon/variant/691.json | 34 + public/images/pokemon/variant/77.json | 34 + public/images/pokemon/variant/771.json | 28 + public/images/pokemon/variant/78.json | 34 + public/images/pokemon/variant/789.json | 34 + public/images/pokemon/variant/790.json | 34 + .../pokemon/variant/791-radiant-sun.json | 28 + public/images/pokemon/variant/791.json | 36 + .../images/pokemon/variant/792-full-moon.json | 36 + public/images/pokemon/variant/792.json | 36 + public/images/pokemon/variant/793.json | 24 + .../pokemon/variant/800-dawn-wings.json | 36 + .../images/pokemon/variant/800-dusk-mane.json | 36 + public/images/pokemon/variant/800-ultra.json | 30 + public/images/pokemon/variant/800.json | 32 + public/images/pokemon/variant/829.json | 36 + public/images/pokemon/variant/830.json | 34 + .../pokemon/variant/890-eternamax_2.json | 755 +++ .../pokemon/variant/890-eternamax_2.png | Bin 0 -> 6796 bytes .../pokemon/variant/890-eternamax_3.json | 755 +++ .../pokemon/variant/890-eternamax_3.png | Bin 0 -> 6814 bytes public/images/pokemon/variant/932.json | 16 + public/images/pokemon/variant/932_3.json | 41 + public/images/pokemon/variant/932_3.png | Bin 0 -> 465 bytes public/images/pokemon/variant/933.json | 32 + public/images/pokemon/variant/934.json | 34 + public/images/pokemon/variant/935_1.json | 41 + public/images/pokemon/variant/935_1.png | Bin 0 -> 700 bytes public/images/pokemon/variant/935_2.json | 41 + public/images/pokemon/variant/935_2.png | Bin 0 -> 702 bytes public/images/pokemon/variant/935_3.json | 41 + public/images/pokemon/variant/935_3.png | Bin 0 -> 713 bytes public/images/pokemon/variant/936_1.json | 41 + public/images/pokemon/variant/936_1.png | Bin 0 -> 1256 bytes public/images/pokemon/variant/936_2.json | 41 + public/images/pokemon/variant/936_2.png | Bin 0 -> 1249 bytes public/images/pokemon/variant/936_3.json | 41 + public/images/pokemon/variant/936_3.png | Bin 0 -> 1256 bytes public/images/pokemon/variant/937_1.json | 41 + public/images/pokemon/variant/937_1.png | Bin 0 -> 1417 bytes public/images/pokemon/variant/937_2.json | 41 + public/images/pokemon/variant/937_2.png | Bin 0 -> 1428 bytes public/images/pokemon/variant/937_3.json | 41 + public/images/pokemon/variant/937_3.png | Bin 0 -> 1418 bytes public/images/pokemon/variant/948.json | 28 + public/images/pokemon/variant/949.json | 40 + public/images/pokemon/variant/994.json | 36 + .../images/pokemon/variant/_masterlist.json | 1090 ++++- public/images/pokemon/variant/back/118.json | 47 + public/images/pokemon/variant/back/119.json | 44 + .../pokemon/variant/back/150-mega-x.json | 26 + .../pokemon/variant/back/150-mega-y.json | 15 + public/images/pokemon/variant/back/169.json | 29 + public/images/pokemon/variant/back/173.json | 12 + public/images/pokemon/variant/back/226.json | 24 + public/images/pokemon/variant/back/278.json | 47 + public/images/pokemon/variant/back/279.json | 53 + public/images/pokemon/variant/back/29.json | 30 + public/images/pokemon/variant/back/290.json | 53 + public/images/pokemon/variant/back/291_1.json | 1595 +++++++ public/images/pokemon/variant/back/291_1.png | Bin 0 -> 7013 bytes public/images/pokemon/variant/back/291_2.json | 1595 +++++++ public/images/pokemon/variant/back/291_2.png | Bin 0 -> 6923 bytes public/images/pokemon/variant/back/291_3.json | 1595 +++++++ public/images/pokemon/variant/back/291_3.png | Bin 0 -> 6986 bytes public/images/pokemon/variant/back/292_1.json | 587 +++ public/images/pokemon/variant/back/292_1.png | Bin 0 -> 5111 bytes public/images/pokemon/variant/back/292_2.json | 587 +++ public/images/pokemon/variant/back/292_2.png | Bin 0 -> 5115 bytes public/images/pokemon/variant/back/292_3.json | 587 +++ public/images/pokemon/variant/back/292_3.png | Bin 0 -> 5121 bytes public/images/pokemon/variant/back/30.json | 34 + public/images/pokemon/variant/back/304.json | 38 + public/images/pokemon/variant/back/305.json | 41 + .../images/pokemon/variant/back/306-mega.json | 38 + public/images/pokemon/variant/back/306.json | 44 + public/images/pokemon/variant/back/309.json | 26 + public/images/pokemon/variant/back/31.json | 26 + .../images/pokemon/variant/back/310-mega.json | 34 + public/images/pokemon/variant/back/310.json | 28 + public/images/pokemon/variant/back/320.json | 24 + public/images/pokemon/variant/back/321.json | 26 + .../pokemon/variant/back/351-rainy.json | 30 + .../pokemon/variant/back/351-snowy.json | 26 + .../pokemon/variant/back/351-sunny.json | 12 + .../pokemon/variant/back/351-sunny_3.json | 2204 +++++++++ .../pokemon/variant/back/351-sunny_3.png | Bin 0 -> 10544 bytes public/images/pokemon/variant/back/351.json | 24 + .../pokemon/variant/back/382-primal.json | 36 + public/images/pokemon/variant/back/382.json | 34 + .../pokemon/variant/back/383-primal.json | 36 + public/images/pokemon/variant/back/383.json | 19 + public/images/pokemon/variant/back/383_2.json | 2624 +++++++++++ public/images/pokemon/variant/back/383_2.png | Bin 0 -> 4283 bytes public/images/pokemon/variant/back/399.json | 2 +- public/images/pokemon/variant/back/4077.json | 32 + public/images/pokemon/variant/back/4078.json | 36 + public/images/pokemon/variant/back/41.json | 38 + public/images/pokemon/variant/back/42.json | 35 + public/images/pokemon/variant/back/426.json | 17 + public/images/pokemon/variant/back/458_2.json | 2036 +++++++++ public/images/pokemon/variant/back/458_2.png | Bin 0 -> 29543 bytes public/images/pokemon/variant/back/458_3.json | 2036 +++++++++ public/images/pokemon/variant/back/458_3.png | Bin 0 -> 29521 bytes public/images/pokemon/variant/back/480.json | 35 + public/images/pokemon/variant/back/481.json | 35 + public/images/pokemon/variant/back/482.json | 35 + public/images/pokemon/variant/back/485.json | 30 + public/images/pokemon/variant/back/562.json | 28 + public/images/pokemon/variant/back/563.json | 24 + public/images/pokemon/variant/back/592.json | 11 + public/images/pokemon/variant/back/592_3.json | 3527 ++++++++++++++ public/images/pokemon/variant/back/592_3.png | Bin 0 -> 37206 bytes public/images/pokemon/variant/back/593.json | 20 + public/images/pokemon/variant/back/619.json | 32 + public/images/pokemon/variant/back/620.json | 32 + public/images/pokemon/variant/back/636.json | 32 + public/images/pokemon/variant/back/637.json | 32 + .../images/pokemon/variant/back/649-burn.json | 32 + .../pokemon/variant/back/649-chill.json | 30 + .../pokemon/variant/back/649-douse.json | 32 + .../pokemon/variant/back/649-shock.json | 32 + public/images/pokemon/variant/back/649.json | 32 + public/images/pokemon/variant/back/653.json | 26 + public/images/pokemon/variant/back/654.json | 32 + public/images/pokemon/variant/back/655.json | 34 + public/images/pokemon/variant/back/690.json | 30 + public/images/pokemon/variant/back/691.json | 34 + public/images/pokemon/variant/back/77.json | 34 + public/images/pokemon/variant/back/771.json | 26 + public/images/pokemon/variant/back/78.json | 34 + public/images/pokemon/variant/back/789.json | 32 + public/images/pokemon/variant/back/790.json | 32 + .../pokemon/variant/back/791-radiant-sun.json | 22 + public/images/pokemon/variant/back/791.json | 30 + .../pokemon/variant/back/792-full-moon.json | 28 + public/images/pokemon/variant/back/792.json | 30 + public/images/pokemon/variant/back/793.json | 24 + .../pokemon/variant/back/800-dawn-wings.json | 30 + .../pokemon/variant/back/800-dusk-mane.json | 30 + .../pokemon/variant/back/800-ultra.json | 26 + public/images/pokemon/variant/back/800.json | 20 + public/images/pokemon/variant/back/829.json | 28 + public/images/pokemon/variant/back/830.json | 22 + public/images/pokemon/variant/back/932.json | 24 + public/images/pokemon/variant/back/933.json | 30 + public/images/pokemon/variant/back/934.json | 30 + public/images/pokemon/variant/back/935_1.json | 41 + public/images/pokemon/variant/back/935_1.png | Bin 0 -> 618 bytes public/images/pokemon/variant/back/935_2.json | 41 + public/images/pokemon/variant/back/935_2.png | Bin 0 -> 623 bytes public/images/pokemon/variant/back/935_3.json | 41 + public/images/pokemon/variant/back/935_3.png | Bin 0 -> 623 bytes public/images/pokemon/variant/back/936.json | 50 + public/images/pokemon/variant/back/937.json | 44 + public/images/pokemon/variant/back/948.json | 28 + public/images/pokemon/variant/back/949.json | 36 + public/images/pokemon/variant/back/994.json | 36 + .../pokemon/variant/back/female/399.json | 20 + .../pokemon/variant/back/female/400.json | 11 + .../pokemon/variant/back/female/592.json | 29 + .../pokemon/variant/back/female/593.json | 26 + .../pokemon/variant/exp/150-mega-x.json | 28 + .../pokemon/variant/exp/150-mega-y.json | 30 + public/images/pokemon/variant/exp/4077.json | 72 + public/images/pokemon/variant/exp/4078.json | 40 + public/images/pokemon/variant/exp/653.json | 28 + public/images/pokemon/variant/exp/654.json | 38 + public/images/pokemon/variant/exp/655.json | 62 + public/images/pokemon/variant/exp/771.json | 16 + public/images/pokemon/variant/exp/771_3.json | 3443 ++++++++++++++ public/images/pokemon/variant/exp/771_3.png | Bin 0 -> 9002 bytes public/images/pokemon/variant/exp/789.json | 32 + public/images/pokemon/variant/exp/790.json | 34 + public/images/pokemon/variant/exp/791.json | 50 + public/images/pokemon/variant/exp/792.json | 40 + public/images/pokemon/variant/exp/793_2.json | 293 ++ public/images/pokemon/variant/exp/793_2.png | Bin 0 -> 8939 bytes public/images/pokemon/variant/exp/793_3.json | 293 ++ public/images/pokemon/variant/exp/793_3.png | Bin 0 -> 9376 bytes .../pokemon/variant/exp/800-dawn-wings.json | 60 + .../pokemon/variant/exp/800-dusk-mane.json | 58 + .../images/pokemon/variant/exp/800-ultra.json | 34 + public/images/pokemon/variant/exp/800.json | 32 + public/images/pokemon/variant/exp/932_2.json | 818 ++++ public/images/pokemon/variant/exp/932_2.png | Bin 0 -> 4401 bytes public/images/pokemon/variant/exp/932_3.json | 818 ++++ public/images/pokemon/variant/exp/932_3.png | Bin 0 -> 2625 bytes public/images/pokemon/variant/exp/933_2.json | 1700 +++++++ public/images/pokemon/variant/exp/933_2.png | Bin 0 -> 3097 bytes public/images/pokemon/variant/exp/933_3.json | 1700 +++++++ public/images/pokemon/variant/exp/933_3.png | Bin 0 -> 3119 bytes public/images/pokemon/variant/exp/934.json | 38 + public/images/pokemon/variant/exp/935.json | 46 + public/images/pokemon/variant/exp/935_3.json | 440 ++ public/images/pokemon/variant/exp/935_3.png | Bin 0 -> 3244 bytes public/images/pokemon/variant/exp/936_1.json | 524 +++ public/images/pokemon/variant/exp/936_1.png | Bin 0 -> 9222 bytes public/images/pokemon/variant/exp/936_2.json | 524 +++ public/images/pokemon/variant/exp/936_2.png | Bin 0 -> 9203 bytes public/images/pokemon/variant/exp/936_3.json | 524 +++ public/images/pokemon/variant/exp/936_3.png | Bin 0 -> 9216 bytes public/images/pokemon/variant/exp/937_1.json | 125 + public/images/pokemon/variant/exp/937_1.png | Bin 0 -> 6531 bytes public/images/pokemon/variant/exp/937_2.json | 125 + public/images/pokemon/variant/exp/937_2.png | Bin 0 -> 6540 bytes public/images/pokemon/variant/exp/937_3.json | 125 + public/images/pokemon/variant/exp/937_3.png | Bin 0 -> 6538 bytes public/images/pokemon/variant/exp/994.json | 22 + public/images/pokemon/variant/exp/994_3.json | 1028 +++++ public/images/pokemon/variant/exp/994_3.png | Bin 0 -> 46164 bytes .../pokemon/variant/exp/back/150-mega-x.json | 26 + .../pokemon/variant/exp/back/150-mega-y.json | 28 + .../images/pokemon/variant/exp/back/4077.json | 32 + .../images/pokemon/variant/exp/back/4078.json | 38 + .../images/pokemon/variant/exp/back/653.json | 26 + .../images/pokemon/variant/exp/back/654.json | 34 + .../images/pokemon/variant/exp/back/655.json | 32 + .../images/pokemon/variant/exp/back/771.json | 26 + .../images/pokemon/variant/exp/back/789.json | 34 + .../images/pokemon/variant/exp/back/790.json | 32 + .../images/pokemon/variant/exp/back/791.json | 28 + .../images/pokemon/variant/exp/back/792.json | 38 + .../images/pokemon/variant/exp/back/793.json | 28 + .../variant/exp/back/800-dawn-wings.json | 40 + .../variant/exp/back/800-dusk-mane.json | 38 + .../pokemon/variant/exp/back/800-ultra.json | 26 + .../images/pokemon/variant/exp/back/800.json | 20 + .../images/pokemon/variant/exp/back/932.json | 24 + .../images/pokemon/variant/exp/back/933.json | 34 + .../images/pokemon/variant/exp/back/934.json | 30 + .../pokemon/variant/exp/back/935_1.json | 356 ++ .../images/pokemon/variant/exp/back/935_1.png | Bin 0 -> 2312 bytes .../pokemon/variant/exp/back/935_2.json | 356 ++ .../images/pokemon/variant/exp/back/935_2.png | Bin 0 -> 2312 bytes .../pokemon/variant/exp/back/935_3.json | 356 ++ .../images/pokemon/variant/exp/back/935_3.png | Bin 0 -> 2312 bytes .../pokemon/variant/exp/back/936_1.json | 356 ++ .../images/pokemon/variant/exp/back/936_1.png | Bin 0 -> 8887 bytes .../pokemon/variant/exp/back/936_2.json | 356 ++ .../images/pokemon/variant/exp/back/936_2.png | Bin 0 -> 8887 bytes .../pokemon/variant/exp/back/936_3.json | 356 ++ .../images/pokemon/variant/exp/back/936_3.png | Bin 0 -> 8887 bytes .../pokemon/variant/exp/back/937_1.json | 650 +++ .../images/pokemon/variant/exp/back/937_1.png | Bin 0 -> 17761 bytes .../pokemon/variant/exp/back/937_2.json | 650 +++ .../images/pokemon/variant/exp/back/937_2.png | Bin 0 -> 17753 bytes .../pokemon/variant/exp/back/937_3.json | 650 +++ .../images/pokemon/variant/exp/back/937_3.png | Bin 0 -> 17775 bytes .../images/pokemon/variant/exp/back/994.json | 40 + public/images/pokemon/variant/female/399.json | 14 + public/images/pokemon/variant/female/400.json | 14 + public/images/pokemon/variant/female/592.json | 35 + public/images/pokemon/variant/female/593.json | 35 + public/images/pokemon_icons_1v.json | 4051 ++++++++++------- public/images/pokemon_icons_1v.png | Bin 18099 -> 23050 bytes public/images/pokemon_icons_2v.json | 1400 +++--- public/images/pokemon_icons_2v.png | Bin 10068 -> 11046 bytes public/images/pokemon_icons_3v.json | 2185 ++++++--- public/images/pokemon_icons_3v.png | Bin 13999 -> 22861 bytes public/images/pokemon_icons_4v.json | 3395 +++++++------- public/images/pokemon_icons_4v.png | Bin 14730 -> 17347 bytes public/images/pokemon_icons_5v.json | 1542 ++++--- public/images/pokemon_icons_5v.png | Bin 12784 -> 14790 bytes public/images/pokemon_icons_6v.json | 600 ++- public/images/pokemon_icons_6v.png | Bin 4798 -> 7153 bytes public/images/pokemon_icons_7v.json | 546 ++- public/images/pokemon_icons_7v.png | Bin 2724 -> 8214 bytes public/images/pokemon_icons_8v.json | 1934 ++++---- public/images/pokemon_icons_8v.png | Bin 11079 -> 13028 bytes public/images/pokemon_icons_9v.json | 1052 +++-- public/images/pokemon_icons_9v.png | Bin 9096 -> 11884 bytes 514 files changed, 102872 insertions(+), 6819 deletions(-) create mode 100644 public/images/pokemon/icons/variant/1/118_2.png create mode 100644 public/images/pokemon/icons/variant/1/118_3.png create mode 100644 public/images/pokemon/icons/variant/1/119_1.png create mode 100644 public/images/pokemon/icons/variant/1/119_2.png create mode 100644 public/images/pokemon/icons/variant/1/119_3.png create mode 100644 public/images/pokemon/icons/variant/1/150-mega-x_2.png create mode 100644 public/images/pokemon/icons/variant/1/150-mega-x_3.png create mode 100644 public/images/pokemon/icons/variant/1/150-mega-y_2.png create mode 100644 public/images/pokemon/icons/variant/1/150-mega-y_3.png create mode 100644 public/images/pokemon/icons/variant/1/29_2.png create mode 100644 public/images/pokemon/icons/variant/1/29_3.png create mode 100644 public/images/pokemon/icons/variant/1/30_2.png create mode 100644 public/images/pokemon/icons/variant/1/30_3.png create mode 100644 public/images/pokemon/icons/variant/1/31_2.png create mode 100644 public/images/pokemon/icons/variant/1/31_3.png create mode 100644 public/images/pokemon/icons/variant/1/41_1.png create mode 100644 public/images/pokemon/icons/variant/1/41_2.png create mode 100644 public/images/pokemon/icons/variant/1/41_3.png create mode 100644 public/images/pokemon/icons/variant/1/42_1.png create mode 100644 public/images/pokemon/icons/variant/1/42_2.png create mode 100644 public/images/pokemon/icons/variant/1/42_3.png create mode 100644 public/images/pokemon/icons/variant/1/77_2.png create mode 100644 public/images/pokemon/icons/variant/1/77_3.png create mode 100644 public/images/pokemon/icons/variant/1/78_2.png create mode 100644 public/images/pokemon/icons/variant/1/78_3.png create mode 100644 public/images/pokemon/icons/variant/2/169_1.png create mode 100644 public/images/pokemon/icons/variant/2/169_2.png create mode 100644 public/images/pokemon/icons/variant/2/169_3.png create mode 100644 public/images/pokemon/icons/variant/2/173_3.png create mode 100644 public/images/pokemon/icons/variant/2/226_2.png create mode 100644 public/images/pokemon/icons/variant/2/226_3.png create mode 100644 public/images/pokemon/icons/variant/3/290_1.png create mode 100644 public/images/pokemon/icons/variant/3/290_2.png create mode 100644 public/images/pokemon/icons/variant/3/290_3.png create mode 100644 public/images/pokemon/icons/variant/3/291_1.png create mode 100644 public/images/pokemon/icons/variant/3/291_2.png create mode 100644 public/images/pokemon/icons/variant/3/291_3.png create mode 100644 public/images/pokemon/icons/variant/3/292_1.png create mode 100644 public/images/pokemon/icons/variant/3/292_2.png create mode 100644 public/images/pokemon/icons/variant/3/292_3.png create mode 100644 public/images/pokemon/icons/variant/3/304_1.png create mode 100644 public/images/pokemon/icons/variant/3/304_2.png create mode 100644 public/images/pokemon/icons/variant/3/304_3.png create mode 100644 public/images/pokemon/icons/variant/3/305_1.png create mode 100644 public/images/pokemon/icons/variant/3/305_2.png create mode 100644 public/images/pokemon/icons/variant/3/305_3.png create mode 100644 public/images/pokemon/icons/variant/3/306-mega_1.png create mode 100644 public/images/pokemon/icons/variant/3/306-mega_2.png create mode 100644 public/images/pokemon/icons/variant/3/306-mega_3.png create mode 100644 public/images/pokemon/icons/variant/3/306_1.png create mode 100644 public/images/pokemon/icons/variant/3/306_2.png create mode 100644 public/images/pokemon/icons/variant/3/306_3.png create mode 100644 public/images/pokemon/icons/variant/3/309_2.png create mode 100644 public/images/pokemon/icons/variant/3/309_3.png create mode 100644 public/images/pokemon/icons/variant/3/310-mega_2.png create mode 100644 public/images/pokemon/icons/variant/3/310-mega_3.png create mode 100644 public/images/pokemon/icons/variant/3/310_2.png create mode 100644 public/images/pokemon/icons/variant/3/310_3.png create mode 100644 public/images/pokemon/icons/variant/3/351-rainy_2.png create mode 100644 public/images/pokemon/icons/variant/3/351-rainy_3.png create mode 100644 public/images/pokemon/icons/variant/3/351-snowy_2.png create mode 100644 public/images/pokemon/icons/variant/3/351-snowy_3.png create mode 100644 public/images/pokemon/icons/variant/3/351-sunny_2.png create mode 100644 public/images/pokemon/icons/variant/3/351-sunny_3.png create mode 100644 public/images/pokemon/icons/variant/3/351_2.png create mode 100644 public/images/pokemon/icons/variant/3/351_3.png create mode 100644 public/images/pokemon/icons/variant/3/382-primal_2.png create mode 100644 public/images/pokemon/icons/variant/3/382-primal_3.png create mode 100644 public/images/pokemon/icons/variant/3/382_2.png create mode 100644 public/images/pokemon/icons/variant/3/382_3.png create mode 100644 public/images/pokemon/icons/variant/3/383-primal_2.png create mode 100644 public/images/pokemon/icons/variant/3/383-primal_3.png create mode 100644 public/images/pokemon/icons/variant/3/383_2.png create mode 100644 public/images/pokemon/icons/variant/3/383_3.png create mode 100644 public/images/pokemon/icons/variant/4/458_2.png create mode 100644 public/images/pokemon/icons/variant/4/458_3.png create mode 100644 public/images/pokemon/icons/variant/4/480_1.png create mode 100644 public/images/pokemon/icons/variant/4/480_2.png create mode 100644 public/images/pokemon/icons/variant/4/480_3.png create mode 100644 public/images/pokemon/icons/variant/4/481_1.png create mode 100644 public/images/pokemon/icons/variant/4/481_2.png create mode 100644 public/images/pokemon/icons/variant/4/481_3.png create mode 100644 public/images/pokemon/icons/variant/4/482_1.png create mode 100644 public/images/pokemon/icons/variant/4/482_2.png create mode 100644 public/images/pokemon/icons/variant/4/482_3.png create mode 100644 public/images/pokemon/icons/variant/5/562_2.png create mode 100644 public/images/pokemon/icons/variant/5/562_3.png create mode 100644 public/images/pokemon/icons/variant/5/563_2.png create mode 100644 public/images/pokemon/icons/variant/5/563_3.png create mode 100644 public/images/pokemon/icons/variant/5/649-burn_2.png create mode 100644 public/images/pokemon/icons/variant/5/649-burn_3.png create mode 100644 public/images/pokemon/icons/variant/5/649-chill_2.png create mode 100644 public/images/pokemon/icons/variant/5/649-chill_3.png create mode 100644 public/images/pokemon/icons/variant/5/649-douse_2.png create mode 100644 public/images/pokemon/icons/variant/5/649-douse_3.png create mode 100644 public/images/pokemon/icons/variant/5/649-shock_2.png create mode 100644 public/images/pokemon/icons/variant/5/649-shock_3.png create mode 100644 public/images/pokemon/icons/variant/5/649_2.png create mode 100644 public/images/pokemon/icons/variant/5/649_3.png create mode 100644 public/images/pokemon/icons/variant/6/653_2.png create mode 100644 public/images/pokemon/icons/variant/6/653_3.png create mode 100644 public/images/pokemon/icons/variant/6/654_2.png create mode 100644 public/images/pokemon/icons/variant/6/654_3.png create mode 100644 public/images/pokemon/icons/variant/6/655_2.png create mode 100644 public/images/pokemon/icons/variant/6/655_3.png create mode 100644 public/images/pokemon/icons/variant/6/690_2.png create mode 100644 public/images/pokemon/icons/variant/6/690_3.png create mode 100644 public/images/pokemon/icons/variant/6/691_2.png create mode 100644 public/images/pokemon/icons/variant/6/691_3.png create mode 100644 public/images/pokemon/icons/variant/7/771_2.png create mode 100644 public/images/pokemon/icons/variant/7/771_3.png create mode 100644 public/images/pokemon/icons/variant/7/789_2.png create mode 100644 public/images/pokemon/icons/variant/7/789_3.png create mode 100644 public/images/pokemon/icons/variant/7/790_2.png create mode 100644 public/images/pokemon/icons/variant/7/790_3.png create mode 100644 public/images/pokemon/icons/variant/7/791_2.png create mode 100644 public/images/pokemon/icons/variant/7/791_3.png create mode 100644 public/images/pokemon/icons/variant/7/792_2.png create mode 100644 public/images/pokemon/icons/variant/7/792_3.png create mode 100644 public/images/pokemon/icons/variant/7/793_2.png create mode 100644 public/images/pokemon/icons/variant/7/793_3.png create mode 100644 public/images/pokemon/icons/variant/7/800-dawn-wings_2.png create mode 100644 public/images/pokemon/icons/variant/7/800-dawn-wings_3.png create mode 100644 public/images/pokemon/icons/variant/7/800-dusk-mane_2.png create mode 100644 public/images/pokemon/icons/variant/7/800-dusk-mane_3.png create mode 100644 public/images/pokemon/icons/variant/7/800-ultra_2.png create mode 100644 public/images/pokemon/icons/variant/7/800-ultra_3.png create mode 100644 public/images/pokemon/icons/variant/7/800_2.png create mode 100644 public/images/pokemon/icons/variant/7/800_3.png create mode 100644 public/images/pokemon/icons/variant/8/4077_2.png create mode 100644 public/images/pokemon/icons/variant/8/4077_3.png create mode 100644 public/images/pokemon/icons/variant/8/4078_2.png create mode 100644 public/images/pokemon/icons/variant/8/4078_3.png create mode 100644 public/images/pokemon/icons/variant/8/829_2.png create mode 100644 public/images/pokemon/icons/variant/8/829_3.png create mode 100644 public/images/pokemon/icons/variant/8/830_2.png create mode 100644 public/images/pokemon/icons/variant/8/830_3.png create mode 100644 public/images/pokemon/icons/variant/9/932_2.png create mode 100644 public/images/pokemon/icons/variant/9/932_3.png create mode 100644 public/images/pokemon/icons/variant/9/933_2.png create mode 100644 public/images/pokemon/icons/variant/9/933_3.png create mode 100644 public/images/pokemon/icons/variant/9/934_2.png create mode 100644 public/images/pokemon/icons/variant/9/934_3.png create mode 100644 public/images/pokemon/icons/variant/9/948_2.png create mode 100644 public/images/pokemon/icons/variant/9/948_3.png create mode 100644 public/images/pokemon/icons/variant/9/949_2.png create mode 100644 public/images/pokemon/icons/variant/9/949_3.png rename public/images/pokemon/icons/variant/9/{967_3_GENERATED.png => 967_3.png} (100%) create mode 100644 public/images/pokemon/icons/variant/9/994_2.png create mode 100644 public/images/pokemon/icons/variant/9/994_3.png create mode 100644 public/images/pokemon/variant/118.json create mode 100644 public/images/pokemon/variant/119.json create mode 100644 public/images/pokemon/variant/150-mega-x.json create mode 100644 public/images/pokemon/variant/150-mega-y.json create mode 100644 public/images/pokemon/variant/169.json create mode 100644 public/images/pokemon/variant/173_3.json create mode 100644 public/images/pokemon/variant/173_3.png create mode 100644 public/images/pokemon/variant/226_2.json create mode 100644 public/images/pokemon/variant/226_2.png create mode 100644 public/images/pokemon/variant/226_3.json create mode 100644 public/images/pokemon/variant/226_3.png create mode 100644 public/images/pokemon/variant/278.json create mode 100644 public/images/pokemon/variant/279_1.json create mode 100644 public/images/pokemon/variant/279_1.png create mode 100644 public/images/pokemon/variant/279_2.json create mode 100644 public/images/pokemon/variant/279_2.png create mode 100644 public/images/pokemon/variant/279_3.json create mode 100644 public/images/pokemon/variant/279_3.png create mode 100644 public/images/pokemon/variant/29.json create mode 100644 public/images/pokemon/variant/290.json create mode 100644 public/images/pokemon/variant/291_1.json create mode 100644 public/images/pokemon/variant/291_1.png create mode 100644 public/images/pokemon/variant/291_2.json create mode 100644 public/images/pokemon/variant/291_2.png create mode 100644 public/images/pokemon/variant/291_3.json create mode 100644 public/images/pokemon/variant/291_3.png create mode 100644 public/images/pokemon/variant/292.json create mode 100644 public/images/pokemon/variant/292_1.json create mode 100644 public/images/pokemon/variant/292_1.png create mode 100644 public/images/pokemon/variant/292_3.json create mode 100644 public/images/pokemon/variant/292_3.png create mode 100644 public/images/pokemon/variant/30.json create mode 100644 public/images/pokemon/variant/304.json create mode 100644 public/images/pokemon/variant/305.json create mode 100644 public/images/pokemon/variant/306-mega.json create mode 100644 public/images/pokemon/variant/306.json create mode 100644 public/images/pokemon/variant/309.json create mode 100644 public/images/pokemon/variant/31.json create mode 100644 public/images/pokemon/variant/310-mega.json create mode 100644 public/images/pokemon/variant/310.json create mode 100644 public/images/pokemon/variant/320.json create mode 100644 public/images/pokemon/variant/321.json create mode 100644 public/images/pokemon/variant/351-rainy_2.json create mode 100644 public/images/pokemon/variant/351-rainy_2.png create mode 100644 public/images/pokemon/variant/351-rainy_3.json create mode 100644 public/images/pokemon/variant/351-rainy_3.png create mode 100644 public/images/pokemon/variant/351-sunny_2.json create mode 100644 public/images/pokemon/variant/351-sunny_2.png create mode 100644 public/images/pokemon/variant/351-sunny_3.json create mode 100644 public/images/pokemon/variant/351-sunny_3.png create mode 100644 public/images/pokemon/variant/351_2.json create mode 100644 public/images/pokemon/variant/351_2.png create mode 100644 public/images/pokemon/variant/351_3.json create mode 100644 public/images/pokemon/variant/351_3.png create mode 100644 public/images/pokemon/variant/382-primal.json create mode 100644 public/images/pokemon/variant/382.json create mode 100644 public/images/pokemon/variant/383-primal.json create mode 100644 public/images/pokemon/variant/383.json create mode 100644 public/images/pokemon/variant/4077.json create mode 100644 public/images/pokemon/variant/4078.json create mode 100644 public/images/pokemon/variant/41.json create mode 100644 public/images/pokemon/variant/42.json create mode 100644 public/images/pokemon/variant/458.json create mode 100644 public/images/pokemon/variant/480.json create mode 100644 public/images/pokemon/variant/481.json create mode 100644 public/images/pokemon/variant/482.json create mode 100644 public/images/pokemon/variant/485.json create mode 100644 public/images/pokemon/variant/562.json create mode 100644 public/images/pokemon/variant/563_2.json create mode 100644 public/images/pokemon/variant/563_2.png create mode 100644 public/images/pokemon/variant/563_3.json create mode 100644 public/images/pokemon/variant/563_3.png create mode 100644 public/images/pokemon/variant/592.json create mode 100644 public/images/pokemon/variant/592_3.json create mode 100644 public/images/pokemon/variant/592_3.png create mode 100644 public/images/pokemon/variant/593.json create mode 100644 public/images/pokemon/variant/619.json create mode 100644 public/images/pokemon/variant/620.json create mode 100644 public/images/pokemon/variant/636.json create mode 100644 public/images/pokemon/variant/637.json create mode 100644 public/images/pokemon/variant/649-burn.json create mode 100644 public/images/pokemon/variant/649-chill.json create mode 100644 public/images/pokemon/variant/649-douse.json create mode 100644 public/images/pokemon/variant/649-shock.json create mode 100644 public/images/pokemon/variant/649.json create mode 100644 public/images/pokemon/variant/653.json create mode 100644 public/images/pokemon/variant/654.json create mode 100644 public/images/pokemon/variant/655.json create mode 100644 public/images/pokemon/variant/690.json create mode 100644 public/images/pokemon/variant/691.json create mode 100644 public/images/pokemon/variant/77.json create mode 100644 public/images/pokemon/variant/771.json create mode 100644 public/images/pokemon/variant/78.json create mode 100644 public/images/pokemon/variant/790.json create mode 100644 public/images/pokemon/variant/791-radiant-sun.json create mode 100644 public/images/pokemon/variant/791.json create mode 100644 public/images/pokemon/variant/792-full-moon.json create mode 100644 public/images/pokemon/variant/792.json create mode 100644 public/images/pokemon/variant/793.json create mode 100644 public/images/pokemon/variant/800-dawn-wings.json create mode 100644 public/images/pokemon/variant/800-dusk-mane.json create mode 100644 public/images/pokemon/variant/800-ultra.json create mode 100644 public/images/pokemon/variant/800.json create mode 100644 public/images/pokemon/variant/829.json create mode 100644 public/images/pokemon/variant/830.json create mode 100644 public/images/pokemon/variant/890-eternamax_2.json create mode 100644 public/images/pokemon/variant/890-eternamax_2.png create mode 100644 public/images/pokemon/variant/890-eternamax_3.json create mode 100644 public/images/pokemon/variant/890-eternamax_3.png create mode 100644 public/images/pokemon/variant/932.json create mode 100644 public/images/pokemon/variant/932_3.json create mode 100644 public/images/pokemon/variant/932_3.png create mode 100644 public/images/pokemon/variant/933.json create mode 100644 public/images/pokemon/variant/934.json create mode 100644 public/images/pokemon/variant/935_1.json create mode 100644 public/images/pokemon/variant/935_1.png create mode 100644 public/images/pokemon/variant/935_2.json create mode 100644 public/images/pokemon/variant/935_2.png create mode 100644 public/images/pokemon/variant/935_3.json create mode 100644 public/images/pokemon/variant/935_3.png create mode 100644 public/images/pokemon/variant/936_1.json create mode 100644 public/images/pokemon/variant/936_1.png create mode 100644 public/images/pokemon/variant/936_2.json create mode 100644 public/images/pokemon/variant/936_2.png create mode 100644 public/images/pokemon/variant/936_3.json create mode 100644 public/images/pokemon/variant/936_3.png create mode 100644 public/images/pokemon/variant/937_1.json create mode 100644 public/images/pokemon/variant/937_1.png create mode 100644 public/images/pokemon/variant/937_2.json create mode 100644 public/images/pokemon/variant/937_2.png create mode 100644 public/images/pokemon/variant/937_3.json create mode 100644 public/images/pokemon/variant/937_3.png create mode 100644 public/images/pokemon/variant/948.json create mode 100644 public/images/pokemon/variant/949.json create mode 100644 public/images/pokemon/variant/994.json create mode 100644 public/images/pokemon/variant/back/118.json create mode 100644 public/images/pokemon/variant/back/119.json create mode 100644 public/images/pokemon/variant/back/150-mega-x.json create mode 100644 public/images/pokemon/variant/back/150-mega-y.json create mode 100644 public/images/pokemon/variant/back/169.json create mode 100644 public/images/pokemon/variant/back/226.json create mode 100644 public/images/pokemon/variant/back/278.json create mode 100644 public/images/pokemon/variant/back/279.json create mode 100644 public/images/pokemon/variant/back/29.json create mode 100644 public/images/pokemon/variant/back/290.json create mode 100644 public/images/pokemon/variant/back/291_1.json create mode 100644 public/images/pokemon/variant/back/291_1.png create mode 100644 public/images/pokemon/variant/back/291_2.json create mode 100644 public/images/pokemon/variant/back/291_2.png create mode 100644 public/images/pokemon/variant/back/291_3.json create mode 100644 public/images/pokemon/variant/back/291_3.png create mode 100644 public/images/pokemon/variant/back/292_1.json create mode 100644 public/images/pokemon/variant/back/292_1.png create mode 100644 public/images/pokemon/variant/back/292_2.json create mode 100644 public/images/pokemon/variant/back/292_2.png create mode 100644 public/images/pokemon/variant/back/292_3.json create mode 100644 public/images/pokemon/variant/back/292_3.png create mode 100644 public/images/pokemon/variant/back/30.json create mode 100644 public/images/pokemon/variant/back/304.json create mode 100644 public/images/pokemon/variant/back/305.json create mode 100644 public/images/pokemon/variant/back/306-mega.json create mode 100644 public/images/pokemon/variant/back/306.json create mode 100644 public/images/pokemon/variant/back/309.json create mode 100644 public/images/pokemon/variant/back/310-mega.json create mode 100644 public/images/pokemon/variant/back/310.json create mode 100644 public/images/pokemon/variant/back/320.json create mode 100644 public/images/pokemon/variant/back/321.json create mode 100644 public/images/pokemon/variant/back/351-sunny_3.json create mode 100644 public/images/pokemon/variant/back/351-sunny_3.png create mode 100644 public/images/pokemon/variant/back/351.json create mode 100644 public/images/pokemon/variant/back/382-primal.json create mode 100644 public/images/pokemon/variant/back/382.json create mode 100644 public/images/pokemon/variant/back/383-primal.json create mode 100644 public/images/pokemon/variant/back/383.json create mode 100644 public/images/pokemon/variant/back/383_2.json create mode 100644 public/images/pokemon/variant/back/383_2.png create mode 100644 public/images/pokemon/variant/back/4077.json create mode 100644 public/images/pokemon/variant/back/4078.json create mode 100644 public/images/pokemon/variant/back/41.json create mode 100644 public/images/pokemon/variant/back/42.json create mode 100644 public/images/pokemon/variant/back/458_2.json create mode 100644 public/images/pokemon/variant/back/458_2.png create mode 100644 public/images/pokemon/variant/back/458_3.json create mode 100644 public/images/pokemon/variant/back/458_3.png create mode 100644 public/images/pokemon/variant/back/480.json create mode 100644 public/images/pokemon/variant/back/481.json create mode 100644 public/images/pokemon/variant/back/482.json create mode 100644 public/images/pokemon/variant/back/485.json create mode 100644 public/images/pokemon/variant/back/562.json create mode 100644 public/images/pokemon/variant/back/563.json create mode 100644 public/images/pokemon/variant/back/592.json create mode 100644 public/images/pokemon/variant/back/592_3.json create mode 100644 public/images/pokemon/variant/back/592_3.png create mode 100644 public/images/pokemon/variant/back/593.json create mode 100644 public/images/pokemon/variant/back/619.json create mode 100644 public/images/pokemon/variant/back/620.json create mode 100644 public/images/pokemon/variant/back/636.json create mode 100644 public/images/pokemon/variant/back/637.json create mode 100644 public/images/pokemon/variant/back/649-burn.json create mode 100644 public/images/pokemon/variant/back/649-chill.json create mode 100644 public/images/pokemon/variant/back/649-douse.json create mode 100644 public/images/pokemon/variant/back/649-shock.json create mode 100644 public/images/pokemon/variant/back/649.json create mode 100644 public/images/pokemon/variant/back/653.json create mode 100644 public/images/pokemon/variant/back/654.json create mode 100644 public/images/pokemon/variant/back/655.json create mode 100644 public/images/pokemon/variant/back/690.json create mode 100644 public/images/pokemon/variant/back/691.json create mode 100644 public/images/pokemon/variant/back/77.json create mode 100644 public/images/pokemon/variant/back/771.json create mode 100644 public/images/pokemon/variant/back/78.json create mode 100644 public/images/pokemon/variant/back/790.json create mode 100644 public/images/pokemon/variant/back/791-radiant-sun.json create mode 100644 public/images/pokemon/variant/back/791.json create mode 100644 public/images/pokemon/variant/back/792-full-moon.json create mode 100644 public/images/pokemon/variant/back/792.json create mode 100644 public/images/pokemon/variant/back/793.json create mode 100644 public/images/pokemon/variant/back/800-dawn-wings.json create mode 100644 public/images/pokemon/variant/back/800-dusk-mane.json create mode 100644 public/images/pokemon/variant/back/800-ultra.json create mode 100644 public/images/pokemon/variant/back/800.json create mode 100644 public/images/pokemon/variant/back/829.json create mode 100644 public/images/pokemon/variant/back/830.json create mode 100644 public/images/pokemon/variant/back/932.json create mode 100644 public/images/pokemon/variant/back/933.json create mode 100644 public/images/pokemon/variant/back/934.json create mode 100644 public/images/pokemon/variant/back/935_1.json create mode 100644 public/images/pokemon/variant/back/935_1.png create mode 100644 public/images/pokemon/variant/back/935_2.json create mode 100644 public/images/pokemon/variant/back/935_2.png create mode 100644 public/images/pokemon/variant/back/935_3.json create mode 100644 public/images/pokemon/variant/back/935_3.png create mode 100644 public/images/pokemon/variant/back/936.json create mode 100644 public/images/pokemon/variant/back/937.json create mode 100644 public/images/pokemon/variant/back/948.json create mode 100644 public/images/pokemon/variant/back/949.json create mode 100644 public/images/pokemon/variant/back/994.json create mode 100644 public/images/pokemon/variant/back/female/399.json create mode 100644 public/images/pokemon/variant/back/female/592.json create mode 100644 public/images/pokemon/variant/back/female/593.json create mode 100644 public/images/pokemon/variant/exp/150-mega-x.json create mode 100644 public/images/pokemon/variant/exp/150-mega-y.json create mode 100644 public/images/pokemon/variant/exp/4077.json create mode 100644 public/images/pokemon/variant/exp/4078.json create mode 100644 public/images/pokemon/variant/exp/653.json create mode 100644 public/images/pokemon/variant/exp/654.json create mode 100644 public/images/pokemon/variant/exp/655.json create mode 100644 public/images/pokemon/variant/exp/771.json create mode 100644 public/images/pokemon/variant/exp/771_3.json create mode 100644 public/images/pokemon/variant/exp/771_3.png create mode 100644 public/images/pokemon/variant/exp/790.json create mode 100644 public/images/pokemon/variant/exp/791.json create mode 100644 public/images/pokemon/variant/exp/792.json create mode 100644 public/images/pokemon/variant/exp/793_2.json create mode 100644 public/images/pokemon/variant/exp/793_2.png create mode 100644 public/images/pokemon/variant/exp/793_3.json create mode 100644 public/images/pokemon/variant/exp/793_3.png create mode 100644 public/images/pokemon/variant/exp/800-dawn-wings.json create mode 100644 public/images/pokemon/variant/exp/800-dusk-mane.json create mode 100644 public/images/pokemon/variant/exp/800-ultra.json create mode 100644 public/images/pokemon/variant/exp/800.json create mode 100644 public/images/pokemon/variant/exp/932_2.json create mode 100644 public/images/pokemon/variant/exp/932_2.png create mode 100644 public/images/pokemon/variant/exp/932_3.json create mode 100644 public/images/pokemon/variant/exp/932_3.png create mode 100644 public/images/pokemon/variant/exp/933_2.json create mode 100644 public/images/pokemon/variant/exp/933_2.png create mode 100644 public/images/pokemon/variant/exp/933_3.json create mode 100644 public/images/pokemon/variant/exp/933_3.png create mode 100644 public/images/pokemon/variant/exp/934.json create mode 100644 public/images/pokemon/variant/exp/935.json create mode 100644 public/images/pokemon/variant/exp/935_3.json create mode 100644 public/images/pokemon/variant/exp/935_3.png create mode 100644 public/images/pokemon/variant/exp/936_1.json create mode 100644 public/images/pokemon/variant/exp/936_1.png create mode 100644 public/images/pokemon/variant/exp/936_2.json create mode 100644 public/images/pokemon/variant/exp/936_2.png create mode 100644 public/images/pokemon/variant/exp/936_3.json create mode 100644 public/images/pokemon/variant/exp/936_3.png create mode 100644 public/images/pokemon/variant/exp/937_1.json create mode 100644 public/images/pokemon/variant/exp/937_1.png create mode 100644 public/images/pokemon/variant/exp/937_2.json create mode 100644 public/images/pokemon/variant/exp/937_2.png create mode 100644 public/images/pokemon/variant/exp/937_3.json create mode 100644 public/images/pokemon/variant/exp/937_3.png create mode 100644 public/images/pokemon/variant/exp/994.json create mode 100644 public/images/pokemon/variant/exp/994_3.json create mode 100644 public/images/pokemon/variant/exp/994_3.png create mode 100644 public/images/pokemon/variant/exp/back/150-mega-x.json create mode 100644 public/images/pokemon/variant/exp/back/150-mega-y.json create mode 100644 public/images/pokemon/variant/exp/back/4077.json create mode 100644 public/images/pokemon/variant/exp/back/4078.json create mode 100644 public/images/pokemon/variant/exp/back/653.json create mode 100644 public/images/pokemon/variant/exp/back/654.json create mode 100644 public/images/pokemon/variant/exp/back/655.json create mode 100644 public/images/pokemon/variant/exp/back/771.json create mode 100644 public/images/pokemon/variant/exp/back/790.json create mode 100644 public/images/pokemon/variant/exp/back/792.json create mode 100644 public/images/pokemon/variant/exp/back/793.json create mode 100644 public/images/pokemon/variant/exp/back/800-dawn-wings.json create mode 100644 public/images/pokemon/variant/exp/back/800-dusk-mane.json create mode 100644 public/images/pokemon/variant/exp/back/800-ultra.json create mode 100644 public/images/pokemon/variant/exp/back/800.json create mode 100644 public/images/pokemon/variant/exp/back/932.json create mode 100644 public/images/pokemon/variant/exp/back/933.json create mode 100644 public/images/pokemon/variant/exp/back/934.json create mode 100644 public/images/pokemon/variant/exp/back/935_1.json create mode 100644 public/images/pokemon/variant/exp/back/935_1.png create mode 100644 public/images/pokemon/variant/exp/back/935_2.json create mode 100644 public/images/pokemon/variant/exp/back/935_2.png create mode 100644 public/images/pokemon/variant/exp/back/935_3.json create mode 100644 public/images/pokemon/variant/exp/back/935_3.png create mode 100644 public/images/pokemon/variant/exp/back/936_1.json create mode 100644 public/images/pokemon/variant/exp/back/936_1.png create mode 100644 public/images/pokemon/variant/exp/back/936_2.json create mode 100644 public/images/pokemon/variant/exp/back/936_2.png create mode 100644 public/images/pokemon/variant/exp/back/936_3.json create mode 100644 public/images/pokemon/variant/exp/back/936_3.png create mode 100644 public/images/pokemon/variant/exp/back/937_1.json create mode 100644 public/images/pokemon/variant/exp/back/937_1.png create mode 100644 public/images/pokemon/variant/exp/back/937_2.json create mode 100644 public/images/pokemon/variant/exp/back/937_2.png create mode 100644 public/images/pokemon/variant/exp/back/937_3.json create mode 100644 public/images/pokemon/variant/exp/back/937_3.png create mode 100644 public/images/pokemon/variant/exp/back/994.json create mode 100644 public/images/pokemon/variant/female/592.json create mode 100644 public/images/pokemon/variant/female/593.json diff --git a/public/images/pokemon/icons/variant/1/118_2.png b/public/images/pokemon/icons/variant/1/118_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4a04afddbbab7b19171b18477c1e41667d2c9fff GIT binary patch literal 672 zcmV;R0$=@!P)X0007KNklS|}(M(gs?n{R3Wy%oh&s-tX?-hu`n}d+$L@Ew$8A zOE+60qOO|ZQi+HvQvZ8lZ@jWlBWUloi+UDJ$*^vMGQbj0Yhi zs<&;3a3n}Jbpk**67==&Tg?D0h4i$Z*&-5{z|JKZA4y=wx`|pb9nXGoYMT3w9}s}! zjvDMIlACC)38(_UsOwRTbYKXOv6%x zT|t!|+gGMxsr1;s+MGF3g?v$8reRg}q%RNdd^%(~x}p8Ho7rA5)ri&x7AYIR)bx^vTl6&{EaH)i>jleL%sMB)*WgZRzv$R_-K-OXBO_d_g;qH zzI(;o^a2OlU*V@a?pa`Fdj}CweoI`}N2L>qh_d<|03JO(EPKz}MJl`24`f3txmP}` z&(VX0007JNkl>PbfkNk#j8Nh?V%0R{7)?%sEI?|0w-``&xdQ%^nh z)YIjb5JH|e!RPkscd46^aA>_*T zj$GN^krt@eACgAZl#k!eNTX^xw)#ppA?+E<>Un$-H@SG3VA8|lXbdentK!CoH!aP5 z%?SuVrBeB4f~=kgAgl!lYXMFus+bm?MNg+}_sCWt9o67mW`V|f>mT%?r&ENr09idx zR?n;K9liRAFXCpu{9b)SPp9zuLrpDr1ehPB?iLRTYXJaG28zrq-NP4gbL;kX z0KR|wMJ`_E<YQW8=X8OT{inO(KMlbD0GIKK=Nt#&hv90ENBRYRqbk-^WLF-)IKbHlW>#{y`tU zh+D-LM`PT5@I+-Q7cbXAPK}MX4AiKWEVeHp8ygw=so4cE;h843wn;GQQ5m#A-|g)? zVR9z>V(hweUoE~y)szpPJ(ot+lrEP`eobo9sG8F24@s{-)X_c+4w@vLh~qlFwlcK* zVxHLACWYfK{5c)BO5o#s?dP0Y+}2C>iG&ccZzKf3qsgJV=d4|%v1^?`cC^)5_VtZ~ z6l6LP2WlsnMs?CG9m!g-Enur&tph^iN#{c7LPA|i{RR7^8V)vwVB!D(002ovPDHLk FV1mstFpmHL literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/119_1.png b/public/images/pokemon/icons/variant/1/119_1.png new file mode 100644 index 0000000000000000000000000000000000000000..abc2f0727aed19d75f532ee00cd0b3858318e99d GIT binary patch literal 713 zcmV;)0yh1LP)X0007zNklan_I#eVev;_1JK}v>Fat6ne&7=gv>(G85r=C48N*kzuI6Ob!`F`Jf-+S+Xi6)w8 zqKU>P#uzci=wEY~iZMp5YKdCak|m^_ja(iTir>pFCjj8X_A68hSp*^p(skWoW`D3> z2LMPOxzA>-fJSFw#gAl6MKI_$wPTDCx6M3#D4w-~yfg}&uImoTBLe`^xeSV04drqT z$(V{tAuA$gggb0%wtU!*Aa^=w*XdjaQ!@&}N`E8|n;NEO6sXS?yKe0Pwws^34tdDy zCVsW5C8CofYE?@V^16vJMs#u{*4CF7#rI(f<&Ot+5MZT{h4ZQlcju!3fZg~s0O0YP zuU)q3Tn5RQilSB%(KAZ&$OAKRZa@zC>HRhU;B;rT@AqC%BOw1A1`ZgpNO~ou@{m$_ zyj-~1wa(9@Srn~wZot!>)voACsXW4pACgCgl*)_st<9jgH^Lq4*D=f)9IA?Y|7bTp z4Xx4u04M>USg&`^OrPJ{4C4OpvuIbAfV?QUk}(xprGfcJ3%GLo7T!L11|{Ibabra^ z?c>IZ00V&U&M<&7fM012L=pf7w<_D>b9Q}skwRWKQF}wQ6>4u#;oc4E>@A5abJ^v@yD#4y zj4^uQ{s92Ev-TR-&x*qKnr}^1EU#cAU?7qhUwW;ejjvh86!Xc!Cks!p-87G77iJE5 v!5GC~EdEOLti)$9kMf0k)4q^U|D}EcoYQtq(Jh+J00000NkvXXu0mjfElxy? literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/119_2.png b/public/images/pokemon/icons/variant/1/119_2.png new file mode 100644 index 0000000000000000000000000000000000000000..37d8dee0fd64058993f2aa0bac0f3ac82a807873 GIT binary patch literal 721 zcmV;?0xtcDP)X0007*NklIVwsBVJ&3x)>g8xLl&RT&mdT zTmb>pWB`V4R_*5oTQu`5nt5N4X9AQ`2HJYV0BFe=OREO&a_=#8)8nFo1K2EV)ilTD zTA|dWQp!N3b}bpBy|a~QM1y8;+h$>l_RiLt=BvxWTx#9}8jWZex@kkXK!Zme9`^ti z&Ajv6)*G(6P^Fq31o-^rkX&k>r|E|lKzB<&0PEYc7`o}iqLz$d==PX;+ygj~zM6y( zRxULUKwbv!3$Os^I{tyC3)99Coo=@pOoIIz;!qeowvn^nWb|!FJB=UOXKl z8qsL$4HHj?ocg|=g!Al%^P2~K#o+N5J!*N&Mrj;?uJEW+UvB2Ukg-2PL+I154%G9m{25{wW8P@Fan}scgGj_e7 z7(5kFN*Nf=B&^B7Ec=HC0E|7KAT|90fb_rwV>2V%zW>Srd$X3MuP0%HxuoFyfcXY= z>-yDeXvr8U{Wa-0C+xUG@>~X0007+NklhRri2V7R5T9Kr9&oL$=1oEibE2Yf`LwgMVELP$|=`bkZ6XY z4T83V(M23WtaOowl;R({SfrcRA$^aeJ@qbHDl}gRyu0_y{XXw|zu&tD4K>tILk-=S zgb1QEL*M(BQU{?fyN!XO$B5jRqQ%oR&zqTvvPL!R^1<)F2+SOXe2QkYr01}d2_2zEtk+ylt3 zuIX{Cx9`G*D*1L0;NbWKYiW^@r_UUK^A-U>(|3uPwK1z8&1_{{k9$yugHp=C*`e>BecE>Ye`Kf?GiwvIXS}5I2PlMa z(w3#K&8&^w+vmyi82vpz7$04yy|aVqtqHwhPj5|VFo0-qfNd)ESS*!MHSDDZuLS(n z6i(W*I6gcA;Psow%uc@N^M}fKd~}^hv}v&Ix8H~iwGs^u)I3YUc>z=MRfG2)+$WhZ zn4SE{aJrx2biZqya!z%znYBqK3_q!~Jg-F6VX!O0?n*8ogm6yoJ_H~${et3IUdO)d zd8Ip6b#OJH9~V74D5VTYDFeGJxq!NEJKdq}bO)g3b;gYp(Qt@jsjR=zmmMT7lV=An zliPMt{drST2Ma$n_}3(aaCX0b(dWfmchbIX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006^ zNklPaG(6%@0a&p5}i(m zX>N%J2~x;_i$P+JJtOVQocYOcl+N`3IJW47Em4{V*<=L2LK+*U+GfeBLfN& z2;l5mgWdclPRk{oRAiikK+c6KU1RIhs^YWlJumm5yUaza%+bkVch0|`9l=#fmR9t% zff79d+O-BpCx?NGHgg%)3;CgNTEHlzEOpAv_U5cEdi`NeHA5e_XrNwzChKKss$2i+x2q_ukV1Miq0000EWmrjOO-%qQ00008000000002eQK@7 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/150-mega-x_3.png b/public/images/pokemon/icons/variant/1/150-mega-x_3.png new file mode 100644 index 0000000000000000000000000000000000000000..100f82659ee89ed35762747c3df017720c110e4d GIT binary patch literal 725 zcmV;`0xJE9P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006; zNklu4ANalNJAiG30>k+97+})8nT3d zNHE|(Af%H9q;!l^;X#%sgbZ11ONP*Nu!B9<`}C#6>+=UW)Ahb5emwUa-@OKUy&j7k zfoBP{EK9w~ah!m!qMc!>r1=EFA^MCPOE99C*~V&p`? zFMA09){Z)A-f18Auls;A2I@tGNje(LWyIKNJI2g^IWm&z0 z>?=~%5^d)fAL~D!j2s&{jMHK8c=n_m0MEvn3Q&*Y`X<@cB(X$%zCaz>ZPfkKd6^{*H57evA#b${(Hh~qc` z$>KP;v4MiSz6ufvhd5}R&~4QKC|4S4UXPgp^*X9IZLY6^d@8=BTxqD<)3f*U_aDw5 z!Y&+)SAS0idKJ06jwRv%Be+O7MC~pJfGN%hC?6to0{mR~3ZPJWr%Q)V4Jb&!g{wDh zwzo3ec5a9z;;zkuXQvxH`i#2x@^D4f9`u*FTxpO$JMG`|?`KDFcC}=bJ!7C`Pk{BN zP5$iE)zR72B*~5aiEu_hFQhDWG@TpVliF3|Np>|8Z?|NtwX=Nh%Hr_jZl=J;x>}wv ze&Kut%KZP10y6>XhBYGIyX?=$VE74tuVLCNChM_Jz{j3j>t! z^GpoS^{X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007N zNkl0x&{x&77BF=nXW_muJ6uDxqH{kx8!(9?)~`Qd*6F^Ip6n5D?}u8 zGtcvKw)f1X0aTcGdK*0-?+)L_Yy0?wG54FTf^6CK}@C(3&s} zGm{Fg_d2nWi57{uN}mFmq1gmt&q-_G#2r&|s=)6|I<*RGTkT-6C`=ITCkm31%RcZ1alHVff{jesQ|l;ZQRj0POTDT z(k#~XUMGai3~1tZ+v}n4qWiO~mYFqHV&f76b#Cpk7y>@EyVx8Wtbp%E)4$?O;NYMS z#4pfRKt-BE90e-UT-8bXu?7OTqjN5&H=%>74y#6{Ky!$rbx)6DNlq@Q0L|j7K;RMb z>fX!#sm{dZhZn$~!@&Q_Vj`f{Go6PfPPe|K=fA{25%H&Q-vChfdKZ4gG_IEm3plk( zu)E9!7)3^Zr&$I2*B`NfKVLs1|LO&^?>~6{?cvGJ&8*r+>^Z2{X#xHfzW`^nN#mL0 r<7)r_01jnXNoGw=04e|g00;m8000000Mb*F00000NkvXXu0mjfbQDy) literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/150-mega-y_3.png b/public/images/pokemon/icons/variant/1/150-mega-y_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0a8f15ba29038894d67e9079da685306cfc3911e GIT binary patch literal 774 zcmV+h1Nr=kP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007a zNkl0hmb|*j>#e& zY6TIAkbgihlMWd&bkIo%oh}p{gc3@J2DS7$l;8E;*--9YdigCmUXptse($~Cdv^)f zb(vNurF=JY94BFV&%`u<0&_0+ytYBR#p`!NW27-qDdjqsdyIM=a*aMZbQ(w_px}ZK zX$Mf*+H8PIDYsj=cF-k)a#JUmw?}yEEa6+wQX;)2uvb2 zpp+5;s%#CZi76}X742@_dhq`+NTWI^S!|Xoy!o8u+1o6DZ>~wboC)w^cbR0q#HiQt z+Jg&WWY2<#9Vc5~)bn3tpi;_xb^jHB zk8@A`kC@tZH8ZAIu)W=7Ccq#v_&doen7{rA1+>3^;mO=1zTN*|@c8+}&h@OCM(8;x z*V6+0D}Dhab4ue#Dts>h000hUSV?A0O#mtY000O800000007cclK=n!07*qoM6N<$ Ef}!wFga7~l literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/29_2.png b/public/images/pokemon/icons/variant/1/29_2.png new file mode 100644 index 0000000000000000000000000000000000000000..12d66fb1579887d119510b3d326181085240057a GIT binary patch literal 491 zcmVX00059NklD600BFo6YXBkG==x08`R#!dsFQ<$h6AX~)AS9uOt4;e zw06&L50nk0lkKL9ChTxLrByEjaQE=K_N+0R0QL?#g+xl3YRo1YCJwGt$Wbcf^hdbB zIRlz9TOGoE-oEgD*@=B_E9*TN2B4YE)9a3?)_ee}k@rp?FZ6XZL^iT2GWVX@URZ^} zRM_5rX5kEI)#A9l2g?z1bhxjfqT$(Opl`ef{q}(T`4cD4ZveFFWm@&}8sx9F7*=hL zlbKjE9K-RHer5sKC)o+GGEZBlGyL<|y6HTqgCM~3JSy|$Acz82YrdX`@CSq1^E{-K zseWd`Rq;T#cQ~Hv(Gyo^yOxuKQJD!1f`E_vn{V#9hGgp!LMS1GQc9`LaZxFy)Fx-f hoqg3d&Vq@yp)X+Q-z!)F$UFc5002ovPDHLkV1f~E>W%;a literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/29_3.png b/public/images/pokemon/icons/variant/1/29_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c5f1f4aae943e1b9dd1173f3e5b1b7a4eac77dc1 GIT binary patch literal 491 zcmVX00059Nkl>0$8 zs%8qoA-3LLw~}zTA0(t-)27##``ml?eRn{qQl(0j`oAI~weC5pwt+;X>b0x2LvGmw z{T7Pc@#lZ%> zF!!y~70LwCD(yUr95zWKh*lc_5I*1K#)jhnfO!V3Od_SM499_nDS~qyAFku;McBYu z19I_FXK*i%E}rf`3dc=lyazJ_)N5B5^g=Y6Vmcyn|6Shf>GydPnaC)J?>$~#U}grc zth}RY-x|=U#6^1#n6!}XUD8nV=2@npFTDplU4hs0Pjuc+0RW=ahG?~OkQ*y8Fe`JB zxMR6Fk~G4o+6SASQO9u%&+{gyNC8}0clv2ls4@xPembo*o hZB?td3zk}iz5$M=++6??&Rzfj002ovPDHLkV1gCz*i!%i literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/30_2.png b/public/images/pokemon/icons/variant/1/30_2.png new file mode 100644 index 0000000000000000000000000000000000000000..29e97832b440a6ebbd0042641525a43945706966 GIT binary patch literal 651 zcmV;60(AX}P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006O zNklU^l%<2PeVxAW~PMWN957ZYUjGErsGA z;2_-Ol%bSDr$o9~2z05CKn#SEA&VeXJcsoC`sEDbeRl~WK3ncW?sw1gzEAFQQ55lz zm3snAsVBg+dc1&2si@Uz^Z@RJR7&X!*xXDi zK#}RBL@!|B!aM+evpsph`@n?@^Z3oS21^5%37|lVOfb>m$vL&>SJRKU-t7ahwKNBy zojdDX>T{m!P%7r96R`%7Ht9qWy^u9!JomVjkz7 z%%AyrqBA%S)Pw~1{O316HdcZE(Tbxsg`N7H#4KMJR*Ec)z$LAgOabFEfn`=Jrwx=+ l4+GFt+Q)r(%&(o((hc`Qx6}q;RL1}S002ovPDHLkV1mY!EL#8o literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/30_3.png b/public/images/pokemon/icons/variant/1/30_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5d292322feeafc81a0b0139301a4898d4215eaba GIT binary patch literal 646 zcmV;10(t$3P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006J zNkl1vKbdJL<=W;)32`#Q&x?Bx9NQ4Y7A};Nwb0`$LDG1WpY<1Et zLqREsn509OPF)mfN^WVE4DDP3*CBqtU#>xV|6M{UeYf0&+;i{yeQ)jxaU64#Rk#Dp zs5`){y1jtLn7G&L6>{deA}2s&OdQ;MO*CvUZOGJs0tXNc8vy@>G{)EqxZF%8K#_J* zq8G5$`E3B&-TL$auLHL_zfHSaw_sV|asd=bkp>eT9PV&&|JUpz?hiTutSqksSm&bX z#GdoLkRT|{CSncPA9O4jj9gk-Ubk=`*G>U=^XUP;7dmgebIl~96u^VS9a^8u0Q~;( z6M%PLU(Ob=T&%|0J*`&{-?I3)k_(&@pmr~cP6&b$FmllMLIAd&eX(G`*p|!hTo*X? z7VBsw*1rotxmd;bLi&Tw*wzZz+}Tp8pBniBHM^{eTd2}l3XxL!xY{?$?y^z-N2IXSaR*%eN5R{UmkZM_+|4E`@ zgJfYpeO?1#uep1rBLOE!r-*BnO^)`@?UvRmoA&%(bJuROcF)yC=b{G2VxHul%%A=| z)ft=wsv!aXoPT5ONfY=NtvKpZ*qPr+bos)lQeX0007(NklEg^p1AB*=FzM)8al*r3no^GZOdCYuHb%u zeh2stnu-(dSVa;HTX#6p=XY*j2jH|fr9DgN0x@$mO5sFuu$;?kI0dDO0sQN%Y(CVQ?}*tYxeIt2~|l#2ss!GXcYx8 zf6b}ptl)w@QUij9R|*!5$Lob>ltw@m2rc+1h63@Eb?>@6jEO4B$-U z!Y~!74+0vlmXvfRY2BP3emvsA*0!F%$W8Fw4(lF7eANYSYFi%fk0m!AJ>|>e9d;{; zbFaGKTnHaprP!ZAW@W0J{Pe00_(cPA7ga7sg0 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/31_3.png b/public/images/pokemon/icons/variant/1/31_3.png new file mode 100644 index 0000000000000000000000000000000000000000..020c42185e940c0c8f9d61dae9cd622d038e11d3 GIT binary patch literal 728 zcmV;}0w?{6P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007G zNklJo4g z1edDd4JCtH#kEIIT5)iYVlwmyB#Hg*Nx!?Q!-o3Me zAmCpP>k61Ku7F7+Hc%-Q_`YwYNmU*~T~rIfyLk_VbNP+;Zxsy?>& zqc%1&GEi_5jeZ>nXGbX&n6RX{M8Ia-qhwb!z{I(p13<~HBu2&tHrrn4&$}(3M!$~L z%Tcl`xSqq|&LRNoThq+Us>=ZivOHhK^&AZZ^uFskY;T^ju)L(t-FmvKGYs(?W-MU0 zmAyuI3IRu#wZysh@d49m% z8|UX_`jIfFA*+|u$BTJ85;FD>OZLpVd;j7mx7WT=%-cGH#k{RcAjovEdO4kCd5|E} znJiE;AoHAri4z#0>(i`FGbWb7vlWaUN_ou*SP6eOT=^4i1ykn$ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/41_1.png b/public/images/pokemon/icons/variant/1/41_1.png new file mode 100644 index 0000000000000000000000000000000000000000..78867f99c6c4301ae632ca7be50009130455cf5d GIT binary patch literal 548 zcmV+<0^9wGP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT00056 zNklWTqp~04tprxV7K^F&c&%xQPAsVBht=XZLXov!?r$bAEgCK$s*HG_ucNKW|RD$leo!oIBe*bsRXW6#RUyc<54HE)Q69P@+ z8z_XZ0i=}HLPVYf0!9->hW)FhAOiv43Kzs0otcoTaR}D>LV-dEJDs`K*G~^ezM+9W z5+Q^=nx+6)UwPIqbhZUBnx@F-$~4<`*YkdsN1z6st-x0^(L|BG?L+N#wsrf?s26|g^=5g&6fbq?(YqW#?B=H@g z@0(O=ivvn25#r-zPHeMXr`K%(u(`FXVQQ?AQWk)h(}I3>7G&U!8bD#AiQ>2WoUQ#d z)>$|Fz+bWVH-%K|ZG3YJK=R@Q_-Jk^`=A1DoZabh0i-k6dd>B^Ej{L8|7zxO&JC!L z3Kc13nN(^nn8HaZEtCImqtlFY)T3$Y8!jlynYkUeyzA1mIhDDe2S2wW>$hva`F}uf mOvk*GBfm+DA<#4-&@}I@)>zad`lG4<0000XP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0004= zNklAs=7>1t+oeM$<=;94sL|hb_Kj0z-*RC#(wY#&>u`ZnoT^+gvy7>n( z)TKxlhjZx=1fjFgbg*|#qJ<=SgH(<~HrEddD1->=jlN#LPDiOhGc}12A}Fk@ z0DPXj=?{k80w}Dj)SMQ+Ttx1tDUVDJhFyUlXY67JTU7M^%$sPyq2n^}I)??^1vm31 z0Mwio0Jj%U09=kvBX9tvN}2AsnF=yBVBDp!uI-JJJvSQd&~YhM%KBV)+&mnhloBBX z5RKHA3zq&IfHV7CgQ-{_uU-IX-@og-Ngy*n)Bp4N!0NbX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT00053 zNkly1>k523;}l9Ptt{*PMzy8^lh<_y z`OV1!{sh;k)&MA18~|QUwg9+%TlB#JWHJeQ*!=Ms@+%JRDM(dscPSfy)!BRC)48eiK?UfI8lZW6u50eG+t)GIT4y82IW|BAsi5{x z4>;O7^nocjDWzrd|2CRtyiwcf+z?z;D6hsgZUyVo)H$WG&x2p}Y5leitN#ZWlxfUU j8Tn0Ii~&s*1DfgsU&m3@q;O|v00000NkvXXu0mjfX>aL# literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/42_1.png b/public/images/pokemon/icons/variant/1/42_1.png new file mode 100644 index 0000000000000000000000000000000000000000..17c82d9dd9efa95fdd4900c1f5c341400998a355 GIT binary patch literal 578 zcmV-I0=@l-P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005a zNklQPZ$C=cD>PwGwU@2;>AkyqS0@Mp zkqqqmUf4EUuKXCA7$`>!01Bl#{Lgoki}PcFuhluY+iv7pxBI7&`(gi|2>4N0!9sO0 zY~#@}JCLKddb|g9t_F}C*Sj0(N03KPrU(FD-kz{|ax~D12?Q_{ISQ8uNJN2B3R^oD zBY)$yTaa^;ah)ZKpd@k}E-}ztjSn{mAR=h3vAlMOuJ46&GcL8<8TR)<6ABm(t9E63HXAes&e! zC#}~LR}!TZTsJzeBvS5)#^eSU0$h+vj98z-DphXr%vmN<^INGqoqpr2k@ zpK}8QzU%W$?;cuf$L1l{+Bb=L1gq2Nu$mXUkl7ddvE)W~?J QcK`qY07*qoM6N<$g41N^#Q*>R literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/42_2.png b/public/images/pokemon/icons/variant/1/42_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2ecf6caa41e6f590caf8b64379e6a28473605eaf GIT binary patch literal 576 zcmV-G0>AxX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005Y zNkl%@>hUF6lf&MA4wcYL^_)(1zlEH5)Wn*sPZiIHg)b=Y4AO(*~#X~IlkSV|KIN+kEx^-1r;P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005Z zNklZbSzrEW@bE|em4Y=^oyIdrf%6+sG)B1N|b z^$Ch@wV)Zw)xjrl6p2GQ@#OX+rn%98JyUXMbAP$#e#LTK7fB9l28jvBasYr z`i_@Nt)za84Gok%1^~rO9^L02)>qRLfpb3jJ&HDh_1;n@tp!%2)Rt9XX_bx?-_@Q^x82L_cicA!LZPc@f5z5B5H z_0&6wZQICZv%b7U$~93N7V!hQQJ$#>r-vXS=v$hJ6HcVVg1&G|97j~7k<$z?D6ia~ z69WXk_vg;b1C&yh$wREMZxa0oRxj0jTi>4pWh5R5nER0WAD^9ZM&f~A0am2cg^kMh P00000NkvXXu0mjf**W$V literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/77_2.png b/public/images/pokemon/icons/variant/1/77_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3088fa45ba9059d54c2849159b3cccf8a97299e8 GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iTon`){(stZW@g%h!ySe?p6AXzozl1I|NsAi?rEu!^*~ie_u97t zDejUWzhIy^6fk)CGkyXJa~60+7BevL9R^{>t0Y8w=I@ida=AA%iq&~syjmd@|@ni=itR;vq#KNb;UVE80DR{7w`+X zc5hn2+_k4oS$j!JtwrCa(-Zo9&b;IAd&vukaeRH9I$RFIllMwkY%E zgoi#0KXRYeIoy}_jAy&T+N~R#uRO0aPT1NMbjb9bY3yS@#`SVN=e|}*u$|RcU(%!d zA?JL-4v#lxyG4U~9~*o;x0SW*Ome&U>aUWY^y-sxAG#h|*T3P@ofwOM^VXK^Pv2q2 z`p`=DX4)d&hwZH*Q~9TW-93XY#(5z5kh(EmeJKV!AIG=zRuHS3j3^P6Nn{1`r2~9IT$$N;{y+3N6Daa@rY(yF$yT zIryd>iXkE35j!icL%$1+uSzx5f{80R^A>` zDdW~-THY-D`o_bfRrPI!(>HGap!D;i`;E%HJemFJ-m#Cnbewnoo!XJBdP?A5xpmKt m-O+^+w}3>H^|9#%=fqc8$o+UXQECd%>kOW*elF{r5}E*l9G;>8 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/78_2.png b/public/images/pokemon/icons/variant/1/78_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c071090fe571ec4fd5ab3538c89e528dafc8f63d GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iTon`)9vtrY|7p{inQ7X}#^=sGof&QW|Ns9feVbAv>w&7YiqozF zDejUWzhIy^6fk)CGkyXJa~60+7BevL9R^{>B z^2dMqJ;toz0ePEF&VAE$>97y$(?5a#8CZj7Kb1Dx!qyxfIyiWILJFZgHPQ7~PdzMK0@kdKV z%Fk;)om9Ni+{HIRbL)Z2j7KNgJ4_PYHuYHI-YC5Vny2`LB#vy~C45}sqK47ztRK;H z9)`**J5=lpjXN2#zD>Bwx~SSED%VkIYtrfWuUJ0q2wcaLS}r~g&? zEX_x@x4pY|Ni4>B_dMZCQk&%Su1Kqx%cbpAe(+P+qvVdxEx&hPlq=@RH_lgH``2Lk R6kv!lc)I$ztaD0e0syHx%Vq!o literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/1/78_3.png b/public/images/pokemon/icons/variant/1/78_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1e80c8189d8e7d381186323b770cb1b46ec5d9d5 GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iT$$N;&NyrQ@9>$)!@$WcW~k$t#vmBzo+c@2+*-2Uz33hFJJ7oz%$Jtia>aoy++5 zKmWbhgPf;?CdY~${8rd*U>Wy{KOi7VC%(ZmC3?zl3y(|NOeZ~Ct`?vaCaUsU$XVS@ zpqF>!>@4#qOmCK$K9*FP{$g54;4z_!?UuVgrp#npmE|Utzmdo5>?dxk@5@f!nRG1d z;KlXD;ahfGJbyJxPw~~CPmCpp`E`<18`ZCvbJVKO4RH=TwQA?w(EPr>qu!eD<^`Wp zeIBIWA$1@qt8qDVm#V$PB++eCk0shh`z_GC#U~_jWc@Co-x3!yjAlQ|C~QyP-_P*y zY1mJd;Js3LFJ7K_EVwbtQEBU=6YJkGeA;z!9naHuT71R4ZA%(=WZqsM^Ma49^S@M? z`SxiKWNww{pV+7T`Pd8t|X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005u zNkl` z6y;KKCe(79;gR$b9>^oaH7S_J(aALcpb=0Fd+&eAroC(f>19$djZj2JA*bl)bJ(i^ zfC$QDp+FNEAUeZc$0E>b&ZhUY1RPEodj ze1qmE3m>C_3hm?3^)YDa6N}Xem`5P3(X}TToE6h1hd35j2AmddBbNfCk?2bxU@k5v kdoAs^Q!K7U!}tHi-}j@b)bA;+M*si-07*qoM6N<$f)pqK0RR91 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/2/169_2.png b/public/images/pokemon/icons/variant/2/169_2.png new file mode 100644 index 0000000000000000000000000000000000000000..48b0dfb09fc6e4ea1ef4af21953157ce9eb6d9dd GIT binary patch literal 594 zcmV-Y0X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005q zNklAs=6bJCX;uN9cCuncUB1kt!v7ka7oZLIrp$>NK2XL)J9W31)I%Tj! z3N1nxw^9(n4r#}B5eqsM(m~$!a;ch_7(?+*;Sw%CUhcg|BBp5~%n{iEJ;n~`HU1Zn zF=lz#FpP-rA}JgJ305dy0RZ~PfE7T(iLfAXz!D&1%uFa* zOlM=nmE=}%3xSlm2kqK|3k?wXEsTVcoa0Nc$Hs`W1P^Af%e?y&cEjKXD?XAzj6M-eBUHNahKa@1yk zc_qFY8eb>mhyDb$c>@4^>O40-!Ro`cK(2stdm-fLVjpVb9fzqC%kz{$uPE0*u|bQI zMU3fejBmX7J_a3qV!1j2`v{~px(+0R%VN>wkjLWIfQ!O!|D?8W6}uZ{h7 g%Eh&Ag#N$y2h3xl)OO3FRR91007*qoM6N<$f*NrF4FCWD literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/2/169_3.png b/public/images/pokemon/icons/variant/2/169_3.png new file mode 100644 index 0000000000000000000000000000000000000000..86f8ddd9b74ca30f9d6bc5b9914db02ea65f6f90 GIT binary patch literal 604 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%0Dy!50Qvv` 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600HMoL_t(oh3%FVk}Q)9q>H3sZgW59kjR6wPa4^XL8Ql|e5 z4NxiNFC4<#&4>VsTcU--_UFF>>W6gOG-}=CQk}W^sgC(xaMpkV_Bqo8AT!-0?acs*!0bd&9^EC4STE#qMV2+%11LE1*Z z3UKW-O}^k!txW)Qz=>WiT9NB@xHxHH4X8t!w6eGyIbU)e%I0t#3w`_)kpI#|hd zxXx7pdO{zZQ%;4klH)cA92oaXEmKP_OSjSUG#VQ4Ge3`=DMF0w$X&rTnX> zRUn>&CfLMplJHGKz6%_*U9%~cZVw`knn11Fj1DGnjp8c+&QC4?3A<>U3MMyW^+DNG z&!flt^I*KWdj|aFX&4fsQ=#NK#@A)6J}6^-qo{d(E)1*7reFqs9}M3Eb^Xh2X4o2e Zz+Z-ca@6LIN~Zt-002ovPDHLkV1lvLF7f~X literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/290_1.png b/public/images/pokemon/icons/variant/3/290_1.png new file mode 100644 index 0000000000000000000000000000000000000000..579e4b838edf17972431dd9bd52993e83cb84d7b GIT binary patch literal 618 zcmV-w0+s!VP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005? zNkln7YGF0OimDsm+pmTILx0Q;c)L#IZB7n zwH2C0jhi3{O53F!IvyQvNS2VL1()j}_sdUB>E(V>O1L+j@6Pk%@Auy0my4o^|2c9Q z&@eKfX=Fgt$bhDi0Zk(Vn#RKhibxa$K~Ddy-`DS@jnqI9iJpIa!uw}mRPO93Pr22( zeP-tvFoPNcw@!wf4$oD7)NTSWo`fp*E_{?4X#_mj4k;G$082=(Qs>v}3IJOtL-zMd zy!bFrg-it$ktq1~b}8po>g?~87*E1A+;|eEUd6;fy#ZEncOe0FeL6g6)NZC)#Y8|6 ziN1fn;N~j8Yt(S6Lb=sZ_15hL__IC$u4Us?1wi4vN?nzJ>>S?<`B$Kh1MnI({8^t- zyGgm#!L@AsPd{*aBo8j_$4xm;GZW|)5w{9=s)%Ytn zR{^_+F0dFgA`+!RCIU_eK3=1yaIR(J&-!?kI+xdTiiP|d4q*4tWp$9B9WA;(X+0*c zL0B|L{Ll5AYuQ}yO10tXNMxb-jMH_Ebh)GtbX3IG5A07*qoM6N<$ Eg2p!${Qv*} literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/290_2.png b/public/images/pokemon/icons/variant/3/290_2.png new file mode 100644 index 0000000000000000000000000000000000000000..659f57722ebd15c07c067468a065a220f2f3243c GIT binary patch literal 619 zcmV-x0+juUP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005@ zNklAWPI3kVnR5G^0F(M#xrZ z9Beyv?@*yzCPO5G;8IjfphKXWUWah6Pfh9No|F>qo4oJ1yPxlU-^X);AmD!vCjnYU z0?GsP~(*Hk+M#y>XBJlr8k`{-~hG`&zT?O8D|?Hay>?_ zLAY&>@SmGGrF?!qx(1+K$pMgh^?jyuL)>88CGBRH3p77qzBn8=CVK5E1wd~)Sr{$m zBv@Jv&Li*IvUzm7l3Uo`xM6*o`O|@688~?8$E|-6zW`2Qc+}1sF`fVb002ovPDHLk FV1oF%6~6!g literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/290_3.png b/public/images/pokemon/icons/variant/3/290_3.png new file mode 100644 index 0000000000000000000000000000000000000000..962386bea494f768dc13327da88a22a9ca288793 GIT binary patch literal 616 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600K@)L_t(oh3%J3XcIvghM!>R z$%CNAqm1AWNKq_kC15EkwM0FMVuQwB1c^NaL5mnD^&pXoLa7BWS_G+3Z73}Mq*4q7 z6G4q6ZDS6*2t7#xIU0$qr&+U6VSf?`Ht%Vf-)G+WzL{B%uIse2JZ(UiY6H4e8_=!R z2A~i^*EG%30G>bO8c+zKKU|n#=*Te5fc(D!CEW1~r`f!^rF8*w>N0mOPPG=G5JCsA z>Y!|2D=Q0f1So{iH8so3&~^Zdfw19VeMZ+VMCxgLo|n;ha{=>8kWwK-B95!<>9SP7O>mjM_V8wIc&v$g?+5PI_N9yadSYm}7=8T_FtpH^q6tcS)fS-KuDlXtFp>q}$;~cPn^GYIfG_-+D-SN2>g>Ab2vAeAR943S3Mk zj((sR2%E;Ro9&hWrE~scmwA+n(C-~E!IcUbh99p3VB*|Q{GloU%47$LSejxW?8rS! zfIoo6@?>Xq(TH3*|hf*n?HZDg2IAaPFK`L*9dVB}jSGbyJ+W8ni|Yb5MRa`pLC6ewv!8 YU$38>)HFnK`~Uy|07*qoM6N<$f`-gr>i_@% literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/291_2.png b/public/images/pokemon/icons/variant/3/291_2.png new file mode 100644 index 0000000000000000000000000000000000000000..55706b1ad44fe297409c91fb9092663dee30726e GIT binary patch literal 3375 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600KKnL_t(oh3%I=XcJK!$3Gbw z>7ZuoAVPi)rXT?qp&&-xs&uI>nGB>uwkVE45E2A&H-iwR5p@Yp8f?fCyiy1VY2Xme zU@mZG2rfk^N*vCizB3mQ?oR^6<~u#^-n;jC-}n2y-@A}ySsZ4CW`F@T0}QGeU{DA@UbEd5 zpmOexd?j*npL{#&fHMagwN4R$<|P2@h9NmRIdd&?20fj&B-i8-j+lfH5tji07z>KA4WnbZSKjZFXm002ovPDHLk FV1ibBQlS6< literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/291_3.png b/public/images/pokemon/icons/variant/3/291_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4a5aa421be0e9b252f74bb9ee916140a2fa811 GIT binary patch literal 3381 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%0Dy!50Qvv` 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%0Dy!50Qvv` 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600GfSL_t(oh3(hPD+FNx$MNr$ zHb;e$DS3)*X$uDjr6$Qi6iTTjapa%kfRo}t4iZZ3!4^t(TWZ$UpinN}=CV%n^vn)1 zFT14uUFN+$J-?oPo{bcXMgDRkRbaqWfk9IR22B+hG`@jC2>GF57?INJ5Nv=?pb(Pb%Ok)=wg5o1&IG*G{bQht16;uG zkm|c$>h=V*o-`Jx7Cs%lk9N@6`}bjDlI z8iX80`}+F%)`7gbOUZ9525f8UlRqD^o)|Y7li9IZF3k&BbM7SPT3Ng%l>K0<7?7g{ z$g1AGTmEwFs{ikQl1k+R_R)~kEM|_`00000NkvXXu0mjf DD)B0U literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/292_3.png b/public/images/pokemon/icons/variant/3/292_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d8cd945026a6f1d6930add0e525cfddcff93514c GIT binary patch literal 3280 zcmV;>3@`JEP)X00004XF*Lt006O% z3;baP000U%X+uL$b5ch_AW20-HZeIiHZ3wPF#rHaiJg{rR8!d&htIt?y-<=6ij>f6 zXi@@54ZTQ_E-Enz5K6$103tR-RB%L5k){YTDBysjLy@r}iiH7DvFijGMAUI`6dRUF zWUU$Bym{}eS9UO(Z2>7`&z9wUXbV-Il#&6`Y8GKGQ04S2&F6MJnWNa;Ck|;8QE#r9r;7G||@X{|> z%+C|c55>;RS}qbKr-&IQTvLXPlM{>K&(BTgi^a?^4mXV>;xX8n8Ce|RasXz}{8imI52H3ZN4bfe_i~WlJ|C&UW9+{8AKoW!}eExnGFE2re(F+`iE_46#!l9 z0Z_aBhs|Iw0E)7{bq;-T9=d#9QpDmcXDh4R++0fmpKB>E=%LdZt9g$j;($`3&Zthxi`{{&gM}5&R^+h%b~yM9Zd3AWW9ETgVfL z1(`yIK=_}U_z%PWq}jQaiQ4!P(3V&Nr6C$XejWfQDiI(Fdt@un?|lo#M+5oIi_w{w zo%_#%{(V=tO#a9gB!7-$M?^BX5>d|Vn*3S!?g~$*UQipUPL&zMmg;!4Do9IA%up=Rh? z=qPj=x&RGBx1dpI68aT-2O}^EromdU5o`ssU{5#*j)WJ%$?!5bA1;Eoz?EiTr=n?cd`V|I)p<|3Oju?MT93~aB0<#&j8`F+Cg&D?-VWzQItUA^l>xvD zRIYI4MQ`g1<+DyrL=EogS06Xii({| zv`U^zjmmKqDIK93(F5q|^fLNk`gQs{RV`IdRle#b)i%{Ds;|}NsClUI)k@Ub)kf6b zsWa4l)YH_rsduU0(?DsMX@qO!YV6TCtMPOWZH~(v?wpc2hv(eZgf-1HBQ#fN?$aF5 zoYvCT^3%%Fs?s{6^;Da#?V+8jy+iwi_M{F~$4y6|vqR^k&SQoO!;_KDsATjprgSxR z{dFa}^}2()GkV5)QF?`X?Rxk03HmJkB>f%wz4}uIItC#I1qQ7Kw+-=zEW;GTU55RJ zuZ@h2VvIHzbs0S}Rx=JT&Npr~zH34@aW`3J(qMAU6l2OVO*7qXdf5y%vo}jIt1%lg zhs_<#1?IcWhb_<+P8LFo28$a^64R5J!)#@aTGB0pEekEXET35!SjAgyv+B3{Xl-wu zZrx~o$A)4PXj5p@WAm%6nJw40#`fA=@?77!tLJvleQsxN$G6*KchjC~A7a13zSsVP zgQJ7Uq0M2^(ZDg$vDWbhi^d9LZDyT!LOXdmt#&%*^w!zIS?qk+`4<X~g?%56 z2@eae34a)26HyS+zks@6$%2*zuOhu7%OdYYnM6sVdZQJi6QY}=U&naIl*dS8tzuWk zUW(I*6U24LW8oFzvR(TOpM zEs5_rp_~TJ^wNN(wM(bCZ0;`Z6P^ce2XB(^$}i_nB)KM)Cp}7bP2Qe7nc|*Ok@8f) z7E}wKr~0SXrM^xJP1~RLDLp2=Jp-4Km~m7{5vB?IGPN`FGKaIwvx>8%%bb_(Ts9>N z5;bK**^9Ef#WdN^)PTf9vR*Qp{o-l7 zTcBI8wqSIn=gRt3(5j`YdRObOE?Pal#&6AmwS={4Ykw%TE-Wv6xh`g1Pmxy9nxe7w ze(PI{6^cd0H#WFzsN0CzDA+i-Y3`<~O&?2mB^OJrODjs>Z{}{k_?699m0x|@lC)*8 z%%N=0R?Jr6*6Z8cw;d=~F3&F?+a9vLa|dHb$&Qyhm+ZVyVOLSNi?B>BD~Ee(8aT1AWbo&CM;EEoH56tE6@EV8X%6-*|u1-NtOIZ>P7H z9s-9XhaP{M`0e$>L5F*fu#U8SXZT%h2eqT56Y5;vIn|ZYCGC#u9zGg)w718lr{jCe z@An_mJyvsE<#^c%!il02pHAkVoIaIx>gnm^(__6$dheWxJ#(!uyl?Pq(Ao3ne9xWf z_v}A;-u3*k3(gmgUSwVDy5w-FbHIL};|Kd6ItCpEJBJ*Hx-UCj?irppeBz4xmD5+f zub#UWaP88_{E^}7QP*$YNVp-r$-DXJR{E{yw{vdK+*xxMeYfPE(!GlNn)e%iH2tw% z>L5Kn>ODH}V8MesW8ASPKV|>)e!S=*`C-L`&P4Mg+egPHeJ3wJUif(YN!F8@r^P=j z|6Kdbc>FRj6+1QlT=e|YubW?}zu5oM?q%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600G=dL_t(oh3(hBO9EjW$MLrW zQhz`-MB)i4K~o?N4gFZEskU3KEr^DO!e~}%j3Q_#*M`8Ls3^*%L4>9tJVC=~s4)s7 z2pjAkp7V;jA6kT;<$gT}FP<;od!F-@%Vqv@JPn}3G=NUi06I+r=rp#0ilT@Y3x$HG z`q~8>U=ye)N_j6hMCa%jy{q#AcsaYm?a?9Q+PP~;%Rn6h2;5Je{R&Wr=&8Q{D?l)o zxH^BL#A-ao&PD=&z2*+_Z2aX8ikhkHV83x}0mG3=0--Jd0R>Q}BkV*M4PC9qW0i3q z_iGB2aeFlMF#|%!4dpwY{2~ z#Rk&$N`fy)c(|WHs7uVEex2StF(5OEZSij1fZ@ob__Esi+DW% O0000X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT00046 zNklK?eQ$7_xm?1oE6YS`cap_t1!qnc^8|bQb(VC04tk?%$k!N*y5W+x6R4_;s()K{Kvw7=LerX9MlE!nCt)m002ovPDHLk FV1n}Z#Pa|E literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/304_2.png b/public/images/pokemon/icons/variant/3/304_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c670ee0ee219d15708ded267b454d48eb2eb4945 GIT binary patch literal 419 zcmV;U0bKrxP)X0004MNkl;vSL6jQ^;m03?LUoLqbWm1jrB= zYIeyK5I$$E=*#qQ7`LsmDSGO?$;9>Zl@pW1*06_ZpHce$^7t0Fn<#+=C zVEG|xTtUMzGk#STiv0ZB=9V8K7{rOc*^cIF^{?bskcjwVeJ%6O?t8Eu6Qlb1-1k!1 zrXQixayf6Rl@wfQUnlC=eGl%@XYyP&N;R0Ky7h?F-DQk#syN&k!>VWfmLCH6QBt8z zlmeWsy&6|CwoI#3G#JFVGp0(NoIAxr2t$q$yYJzWpKyBef#_@rmLDd;H5?PcAjZM) zHBnK8LUXX$juKl24SXwV`5`(j7eWX_cCdX0004CNklFP z1gV;82$CYmT{;TM+MDA()z|C0_sg&E-hsp6a5x+ehvPp}vfV%kk)&g#l=YrzR&A1n z5XsKbh_j~T>HZOb_JBl-)Z%SK7fuvHB(K*807jgqJ(vQZ*EjaA3X3e{;BVsgZ`J|u zy@+zPMZM7hWJY{mR&0|0D(-s`G7QZ6xL?ck>Z0U!Q1=~3^KKaTs5jtv?KJbfc6QvK z@6Sak?RoFxrgy*xF^%tsui7v+jElz84uM^HS)L{OrAQwZ&&D z)?&1yG7NZsxhr&%b33S%D(NvYjC(x1UGjX=Wcy+^=TyDXL52ah=ZE-Sl(&q*Y7UP3 zH4|&m@a?GYMYIP~lu{*|fo*jyrAJ4)_%dz~$FleW&M=lQCkJd|00000NkvXXu0mjf D7oNX0 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/305_1.png b/public/images/pokemon/icons/variant/3/305_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c98222a0bddef38e9fef9906c892385150117be2 GIT binary patch literal 650 zcmV;50(Jd~P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006N zNklJAE>fj{I>0cDI0}Q8<7N{8eOwe-7?=h{VZbz; z0ARZv#{I6k)^^JkSC|d4E;8a*JJ(k>yOCHz~$LmA@uYlDVg3hE)CSry*f}3(z(C}T8`;y$uGdr zZ&NodYOO}*X2~_hf`cSESzdG;pwg0ufaE>R)5)2E`qHAWd)4N50G7cuw%gg7+H{Tk zT`sS@{dBSZwGfmu?((Ns?rE`)50*Dj0V1Xs5~893g~z}wE)9rH^a+xe)#l7 zeW&&R+RH*M$kD*Z@p?cqh1KUH0G4NKAbAgqe%=ZL1(`mkZ?B>-pw?X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006Q zNklq9Cs(_zWY7BcUOp_h<{myEnrS< z0rP4Lm{(iCyxIch)r$fur6PbZ3=8Y}S(FRV1W-yv-ToMW(~|=L%zjqL%z$yAZhy?k zn*h+WE$XhPpY7Qe{{BuT$V`AH+{l}(00mBsvzvPjEd4A_rUI0Z+N~i~tGMKtYIJz> zu0+);0&snN$l1+3*T;vH+5`PuS|<|&ifghkpaEs^i`!851*~UV^YKb>ip-SZ6Wwr zrS^cTRis%_iIXK&hy@N7&PjPO;Q;NHYyuYlX_`z<3}}`Xv+jL<`w@W4yDNIOwG!I6 z>aK@-ezch^HctzIQ}2DkFJ&(8uC%L?2vw`d>B#|hYp6GsCWCVU22M>EU|7y(n1}Pn z_YeAX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006U zNkl(}a?4}T$f|40EswommI#>$sN*KX(Hh8hOzzu<3M}I!NyY-oly;j1@}=TRV(sHc z3U71dOGN+<>UZ3?4>_pc(W@=gb#ar743yO5#()CK&HbAbH5OR8e&pki*Rhj~ z1(f8%IDqlD8TH$j01O&gY{$f(PXRFYkMQSHmGbGu7>L&0k${rkWH?#_Nyu=PFfcgnX%pb#_U&Sx^rZr-M@gZO2p#Fsybn zJWc1Pub%o&>;JWtg<6o^W&ztVf#nqL1v3C1GC5%R9wz;~B?byId`#b7xt%ITrH_Ae rvfS1Dt?kyPN;93C>i^nNZ=-$#!a%XqH9r8M00000NkvXXu0mjfXG|-U literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/306-mega_1.png b/public/images/pokemon/icons/variant/3/306-mega_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a5bde06543d803f4d40bed2233dbb021850fad GIT binary patch literal 871 zcmV-t1DO1YP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008= zNklV#Cqm;9E;C$006HH z&jd(Trc+52N;wITP9;q$$_si~4=3WdK0n6x{t=>DM4k@{=^K!LIftR*3bsc>T%RAy za~!hY9boZ!&Nt*tfK+M*!-+TmNCg2PszuQ64kWnW5o8M}$A_-VZVe~m*qmRoRgkX{ z92K{>-yI;TMR2;e>l@M$uu?7}lg$GFV#^Ei9Odu+=O5@h1EiZ8fN>LTtba2Bs&HIU zzcxEs%tu3PdBN1Vg;EY1)t&M4rY4&Q0Di4~mP&Cr0D zY6^a=Lh?8T0we_~FY0*V`Qy#g=`{dMI+p-RMPRHX#YgYmxo(NBfP5FpWb>9RQgK!3 zV%npjgrVF$HCq5CjpS#)c5ITBtyO6Ww?oY%01F)DknE(J2M$NzUd`g##RnHxrpd2n zQq3bUX%d1^0l)tEF3;1*k#^gFx?0TNq*_i5LSO_+c5-WhiM>>`6&_q%;dF1;B8DfR z9k2?hZfU%@Y6PUJ$N`;3PaweGpZ-c^=y7v?$zpSRG_)v2kWnpy+p|k~{CM*KV2Uy0 z1xdws8*Z}`AayR)R9l@BT%}x;>Z!q2e=yNK;O*HZfU&K>8{BTGkaXX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008) zNklt3AQ`Fq4YtCm{wb;=P*=U!Fb=qrrDF{IAnV; z!cAf!G~`@>RB8rm836!NK>*07l4uV`5=m3e$8-IkgpLO6}PuN z7$KiZVzGJ_8qyQcXmnuKvjBjVFlnN9=~oUw6^<(!)@DzO z`Dj>K-f?tppZ|vbbCVp)6OM8QW2OaN%1+oxb@uT5B7lWI9N2!RnO*~zU1ruI_NR`}4|!eaGI6C)7N4Oj(K zw=`Z{H3CvqVm&!N4ds}|Lfx)^1-L$7;Lhb00000NkvXXu0mjfbMScU literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/306-mega_3.png b/public/images/pokemon/icons/variant/3/306-mega_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5a87dae0a454db4ef87fbde9a8f7536c194d8abd GIT binary patch literal 860 zcmV-i1Ec(jP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008# zNklGus*txAKOc7Yp1)B-$k_c9@jUXhXSWBD5fS|2g zEl3~%8@Cj}A{N?e7pB-jl4c=gnoJ6FpLgE;YZ6lIZ5-eD^UXQu-ZvVvEDImGV*deG ztWbbL2+J^x*gNnzDiBZzVI{UtaW}d^5Tp>o_F=DaQK10=ctR4Gab1vWlR+QZhPg82 zN`PKqJIyCNT%jVb@PzYglOPXW7)44^ZUX;%# zgFZT)+d2Hpx(XLI$B_Vmg@U@Cbih^1E%~}iy(mE|^&;ZA9yY8Q03ayCD*=*~)p85E zo|FL9a?7Toyr7r$c&>+=lQrx#pO8xD<@u$dl^O%m?5w_2 zt;}U;NKe3SNkg__0sxM;9_2a8-><*x_%!O^=wKhfyotW-ezgIra9q)_HhWskN5k>f zqpfpwJ&EsyCIH~*U|%*50Q^b(kVS4W;&(p|}cDsQ3TFl?1T22i@U<68ba%+Kwy;QUn7KevuWiB0J1OmDNtAOg3#*3>) zK&pxy&};NW0{j=-l*-WKnPxa_u9?E27(u4ec?{3*BbuCJ2&>?>5|KFF@*C zs-?C%FSu?=lj^C#R(~+jJ>c;C9>CmI;0X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007< zNklEzl#ibKIaK!m_ml0s~S!$08Q z4j}>Is<0dZgDHZIh1duZSV(D+&MVz3ycuWTuI>+4NZ_W~w>!H#pEtkWdojzh@RlX^ zA8Bh({+0XG$&6OP5QX_a=kJ>d0OeRr~F>8+eAKlzW(l?E(%c3 z5KG9b?>{je&oCbhSzoAE@c8YA<2#zvu8_WRP$^~gx=jGs3Yj=N0RYz7JRcI&cabQi ztVMju#uH~Jjio`pI!*F%p6U zz<`-tn)TE13`egAd{2Oz8ow_5>LcL;x)+ay}zH=4paLHndp(G%UNeGtUX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008W zNklittM4kSVxW2mzr(T_S=33n32SJMX=`G%tS&E%+_DyYF7^ci+Fe z3$@#AuCs*x1CA&+8&D~wmGyc(#zWVsNhLpA+;MV#Yy9e7tyL}))i9cEV)8=ac9;`eA&~bQt zat@&3Oj%l-8wfH`48p(UFhwi|kjUm;Iuq{Qn=(#mo8K3mFc}MAFEDW%z}JsI0NAL$ z*JC1getyyIsfQo9ZOsmqG`@g-?iATtUn7ytvl@Gfy8n&(=UW;ukP z0f1E~0}Kq=*Mg=@g*zGP=S~?Dz*sb*_0_Wm&g6vd3t+Fp9|+J7*lxD43T5riL^j_S zPULOlSJ&xdH(SJ_kuKf9fJ&)$GBOQxtl@<;;RH}zD}58f{J+cK0s%@q9xYpXOdw4# zv6_IToSL5REiGa_XL6!%JO(Z^>6}9)6W6h1H(S17&`F4k;#~m3sY4d#XEfv>)(Zq^ zLV`QM1yaOxtr>^m)S*7|B<^HhKPwJ>A2fp;Iu?|LQ%;SdJxj`|akOl?puHQA3?Dg* zy>Q9Mw1zSPr7a?`0%!h;jGV<@I4R;{9q;1M+gg6@u>&R}(>nNz_N+^90$7EzzCef- zMa&J2&BbyrtYqS@-2<3)5^%vm=eU&b%n%rBl6Xswxq#>-v#mn;(&8=UYAj{O4^qUt zfEU!vZ1Wux^ulmu&rV4uDK}SsqaFs(J2uR_#r<`GWg-3_7Q00000NkvXX Hu0mjfy}f$B literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/306_3.png b/public/images/pokemon/icons/variant/3/306_3.png new file mode 100644 index 0000000000000000000000000000000000000000..de5e70eb4e69955063f35babe82fa66d2f93e344 GIT binary patch literal 810 zcmV+_1J(SAP)X0008LT5~Skr6Uk(xg|?7Ma5yN$rQqNqh>KI*ij#Y#o86B+I6so)UE zl)+9WlLRwJKt#HPN*1rf`F{THU+ykS9qJbXxxC-IeDi(Z_wEIr@Px<3*s!2d%9Z!s zZg(tr9d#}kyDy$69XQ)trQN8rw2Ld(05i)qO=^F0nz@BVog=Y_AewjsrIafqR}M;C zU3BPG%Q`;4b;-$2A(ZF+sPlW1OqHyZa`!i<0fv&CT5AI6n2?0g)l4k0+ zLAYxU6Z2b_`n^+W`C=xy@85p%<@_D}&LNOZ#n^*!#H3jOZk!DOe$+nc&p=9khp%sc z^XB!7k(%aN9J#Z-RZXtlsMBuLncup^vU50<7B|iYf8KxekKDxMEC8Q>y#%~* z6r7n!NL0|oAYTOTJSSK=DCrW5FNGXhW{mjotA}D?|J61@V#6&eA zW{#KOXc6_s1FDWp5Ilohc20Xq{1_w#VH?aXENYTj)JsLsBnf_l3rT@lTGNM4rKKNv z;yXE)q+;Zl38LHWj>#(+o0yypHASyl=IWxOmk7(wF~}D&eJpu{d~xXLNkuRSvrJKh zWoejNYig3BT2zM*LuP`~G$%WSP`3i15>Kr)BS{7G9*iJ(&){~WuGNt*GfO9(-m8{5 z*(pS-XXeHs({oYwLd(wSFOwl_`U|{HHn(iqeuC;HHA$*{(8SX2IY*n*SoUofa{GUU zL(k|&XNwmBCMHWj$Jf1(yxC;la+CfbN!*;1vVqSm*JAVjIh0bad%W$wDp{_3yzMHb o+^m}njG$mzM3H%P)&5KT1x%jNaL>a582|tP07*qoM6N<$g6L?3AOHXW literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/309_2.png b/public/images/pokemon/icons/variant/3/309_2.png new file mode 100644 index 0000000000000000000000000000000000000000..96321bed7b4b8df72b686195c472c57e1ede94d2 GIT binary patch literal 481 zcmV<70UrK|P)X0004~NklDhZHYu#o@js;V!xR_&x4GqtR$I8ja?^AcP21|CyPF$WI6%f`(X9 zmYkiWz~Gqcy0LNB9a~U}WwtMdCo9Fkb={bZUb`$j} zmy~Nyq7*@So&juSkA~(QyN>TUVOnLx0F1R07Ly5{D#htXP|9sw-2hNKKE$!>#9L)j z^YG&Jf8P}<1wQJxOQaeEIPfw66hEq@*U!S*lAZqAYAZLyL<9##CA}hYZW4E~W?Vi2 XvrDem1IAZo00000NkvXXu0mjf1ku|D literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/309_3.png b/public/images/pokemon/icons/variant/3/309_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a186f8caf08715773538b60f5c325f858f763009 GIT binary patch literal 508 zcmVX0005QNkl$=ZfUU6D9TveN-6le= z(-4cpB5)AFMYsupBZW!+gqPx&^;XSsvucuJzG|6)ec%4xyd4Mx0)apv5cppZ5&hQ= ze?&y|*RuolmArkO0_WGPwWX`R_sW7!Y+IY3A@CcR3oluXRi_0Z!W<>xn8YIuU2MvyOonml2(?KlY@SH=PENk<$!`` zuvhC3!^ZL!0MECU>9o^KhJ@TeSZhm5YYXb0i_{z$5m6D*>g=jkXIE8Kb!X#UcE^f{ ye%U|PPj3&s@7>EN{59u`4<_UGZal5P2>b@bn9mDk*n|oI0000X0008ENkl*R=Dzw+Z{NDYu=e;AA7W{(XyZ3u{AHTo%``r_mYp%KeEiuL{ z#+Vg0{=qC^ykd-5H8~-)CKBK@2fQxPSQHM30LU1#-Wnr#0saI+@pP?d4590KEbQ|Z zL;)uO*W?6>cOY3N`{ppgIp+@y0=~CBI55*LxPh65H>HOc*Bq`UCw%jhB;+8aivSqI zcq}JSG26)ZGtiVCn!14s3;?og{i%|JCinO_Ou8dESducRm~EE>PWL_)cl~rU8a(l9jpU>Z+w6KDv`EVR0+3BsTRTmUpTavn=-zK4}n9|+U4Ze?7_ZG4C z>=m!tl9b_va=ClpTED)z0RTd901!Hms%?}k@P`4wQT@mj=PUxi?P90VLi|RZ4WJiv z?ZumkkWN5K=O|fl-9rRY_^`lld{*`ypS4hXIPEIQo9CfCTA;^1?rU`3->mPF|9_zF1L3Ug(q)oIpkU h-CvXF-^%}9zX7*3Wb7~NG{^t|002ovPDHLkV1lpWS!)0Q literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/310-mega_3.png b/public/images/pokemon/icons/variant/3/310-mega_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf7151a167e591d714d89b04f43fd64db8b7655 GIT binary patch literal 710 zcmV;%0y+JOP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006} zNkl3nSWAVQ2^6G!uLlm*QW>~hq3fdt^}qp$WK3{^**HJq_@vLyb_IYz zu|~%Uvg<*Om5jD~E_WVvc;&6|=GGGnm-6b;0v4DCmkKC2=`qO)K=aGpNbkk7r{nqK zwS2ZZDfQN&YfA<2;N@9loZuuh^7y3B=XcHg_hNvLU;n{0QUj%&TZeAsKhhu z;qmNAId%4P2kOc0y>8jnD=S(aDe+!2#)R^lTo#E;B8P?Ui-#5{M=QA8ZQQ57+5PaH zy^F5Bf3Vu;{f~<|MRU5U>`N}?6sK! sr-gX0006>NklV}|NrV=kfgC8gsR~yxybj@=cV|+3_orR_F8bcRyZiY0{qB#zDyyuLY>0>x5l`y) zkD}~MMBGfxaCnnOQjn1V|3%Vab`rMC)GS__dm?R+i1^`68n#mc0CYzxUKbpgso8^N zj#B>6B|gveedF#(y>}fE@#mZGLqkUDL19lMiHk)FP?XmT1w3p|WNg_8YcZ0+AZR|P z`YaL=7rh!b(tuv5?ns5cv4>Buwinh3+ahDjhFad0wiw!=zOjdVPDStJ$epu)-ND;V z3C8cNJAZw7=KD+pP&_pRT<_!vJG=k@c>FZ)TWd^)*x?1Vw)Rogbay^@Zfw~YTec5Q zBxn?v+w=D2GLc%%7*o(`xJ@2B*+F(4MbG%cY{Qrgfy{jFcx|?{JwT$w!4MHw%e!d* z_=4KB3;-xr>OOleU?4J(k>6%&(=v*cI;xt!P}-`d;~={p8V-nH5SUxMzC2s7chzYC z0K|3x$g4l4;D8tmI{hY$$B+HD$) zF~$4jkhK>%M8r=|EuMSwhI7vOi?<(muk?(^`9CFc4|>Og!2mDceT36*#%3!v<^Q#m ctNbN@01*!SOO92>zyJUM07*qoM6N<$f(U#rd;kCd literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/310_3.png b/public/images/pokemon/icons/variant/3/310_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c98bd3345f7b03c96df44b5275537bc95e0c92 GIT binary patch literal 625 zcmV-%0*?KOP)X0006wNkl>xy>*Y}{3rpq=i$=qKHl@_Qb>o!!KCF|mVpl_lId4vK5bDz>8Q&)0cMSc3aoln#Rn@tinO?ZuCOt8 zRS7+Nc>lTo!N2L2(B|#|PI6n=f4qe0<+1a00RRv}L>fD?gF*iehbbLI~~M<{LH12M4nXK8^zS=I#MZFAwDUv7M)j$nF6NibM#Z$pN&} zJuK2Xtb+dxcYHY1Jy+Ojt&F>vr#{W>KVIVK_z+gT`U1|XS78y?_d|oojnI3FM0um8_*FSQ}D2L#JeVWaCZnwIV2b2KPrQdI_RSRx+ zS^pON6Rz33=aNxoX6AOQtKj|%&@jMYlaS+t8(TF6p(a+PQ$^4p5^*3#x34IZ00000 LNkvXXu0mjf_8=Yh literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/334-mega_2.png b/public/images/pokemon/icons/variant/3/334-mega_2.png index 221b5e3c6c415206e477a31c1af246148c349369..dbd6e0d6d2e798ed15cd80ac0da9b07aaa595434 100644 GIT binary patch delta 3562 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%0Dy!50Qvv`0D$NK0DpBb z008P>0026e000+ooVrmw00009a7bBm000XT000XT0n*)m`~Uy|8+1ijbW?9;ba!EL zWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008_NklJ7PC%tpMqm;v(;;p?YG7qLM0EWn@qc*SVazV% z2Db&YW-XSA0Z?90u7MICUo~J{gb{uwK&4d1bA5pHW`x?_K4PgDZ<_DYRM$e|;HX9z zk#qgs`kWDN2WcA!aOr_t<6NFrjWPmPrb8s7!2>|My_z$yr=l9a&x^~`3ZP-(;US!5 zHTu3}GzdWB;OKz`WK;62fPYG<%$0N%fCd?ng+*>^d;9eD;o%{DEZD=c2`88QM4)6& zRzBC?4Z!TejOn`erXCY=W!k*Uj{=qy|75uL;gQH=fmWQvTz@xX?(u_y~IW&z>oBDJ6G;4byowhv@@CCCK03@OGYKEC6nw}Q4;&x8*C-M0PxMZd^%&sij{dN z@qOzvmrL)MN(TosCx1AXr#0)>o~=O*V4a7_Xpq^38Jg-^Ouwf$BRI=y*x%j&&{=bN zTG`*;II*<0fJ&*%)JTN!cOU5L?7;8y>T||OFy1D@GxwBWq_{E4ggahF6~SrbJQ;GRDf3K)JTN3z@K-q_0#{%zNoVe krBvph|7rT0aqfY?09?cgPDN-_upiii>(CByQj(B03U$&V z2~L(mmm*Ec(xC~`K_ppRLL<^e5S>IR>ZD+@rdBL;aIixU(nIagv?REuLwsKE5|i9T z-SVF<$K`#0&;R*&@1UcOI%=w}%PyendPS}c!?^T%wYu5vAAbdGBAx?aD-i{q3S2E{ zTY$Q*R|HI?4TKqvWH?yO0n-)3FuJVnLVMt@0Bc=)@ar!C$B*u)XS|URUP3IVLbf2R z;BNN3;RbHt$p?B$eF`q%)7V&>S723$swUz&cGD>v_(VKMt*fo%I>p*RSiw!j6Lj|m zFMQ4lYgJFF&wo{|w%sJPFy2TAZzRN4B8oN;2B5n)s9X%h;vB5z7*1v^0klrJqk7PF zz4G+dGqoweV6b1gSUfS+#&FirXA;=5nI{m7*R8#r3N>}IrGrv?-be`G+!5a>05hp1 z0B>HsRFK2TOv4n{%5yskdZwY1O`D_^4!F>TjpGt?3xA7jC8BI4qIGa(Gj9vds>k>4 zHVwdW7mIe&DYW2QKCK_Ad&{Y60CNkA%q=WZ*k4m%lG;ElZmUUX+(=e6twCMaD?@{u z6boN%E()aR_49{p9G8IV_>s{A^^PB`<|vzaRm(qr|DpIV)36R(HiN$&NH_631OE*W#$i+MQN+YN13P%}*i!5rD(f z?Uu99_1P$mW7S}=pKSh{Ep<@uoWOPW2HF2H?PyTDI_hK|TGLxL^8|dF?H)j3e~p9H z97kWucr-s{Gq2!0n&0WR&QrXS-eY&KpoX(Z=6|4QDxOgFC8>n-0q@cLE$hxTpg;n= zd+`~lHbgC)719c2mDALU9G}Iq=Vlb4S;$|JxFU!f3%FI{*Lx07*qoM6N<$f+;qQo&W#< diff --git a/public/images/pokemon/icons/variant/3/334-mega_3.png b/public/images/pokemon/icons/variant/3/334-mega_3.png index cf9f34e70f194d2b6759883cc3163a55f36a5042..6386fd580a55f1ddf80e2b543b2aa54796aeec88 100644 GIT binary patch delta 3537 zcmV;?4KDJ-2GSdlBYyw{XF*Lt006O%3;baP000U%X+uL$b5ch_AW20-HZeIiHZ3wP zF#rHaiJg{rR8!d&htIt?y-<=6ij>f6Xi@@54ZTQ_E-Enz5K6$103tR-RB%L5k){YT zDBysjLy@r}iiH7DvFijGMAUI`6dRUFWUU$Bym{}n6@-c&M->OB3XhmR+Dq`EL(i` znPm?-^D=}y8Gp-j&f;b8cV}o=_hCs$|GJ-ARc>v%@$zSl&FIdda6Uz_9&dgda5+tXH875p)hK-XGi{a1D zP3Mcn%rFi&jU(bQ*qIqw9N}^RX3zXt6nSkKvLZX!IDa`fFl{Yuz9`gxUHqGp_jZd|V zn*3Spb<2KHgFhpfn(q_I0r6)%U}fD0a7pyo`5Ov3d}$dgoVfu6;g+EAVbI;vV~ZX z8{`88LlICMln5n5LP!D?K>Y--nTj(fs8oB@tL${z&XcGDrdIuvg38ukX zuzwM31+!pJI0%k}7s1K!GB_VDg15kxa07f0?u1Xnm*5dt3O|9T5r7a8I--j(5f;Km zLXmhR2@xTykP@TC$XgT!MMW`COq2`C9~Fh-qL!gnp*EwcQ3p_+ zs6NzH)F^5S^$|@*Yog83&gcMiEIJvTi+?UgSD>5F9q6;@5%f6v6$XQ$V~jD57=KJ0 zCKa;+vl+7+(~dcX8ODrZrm5 zlF&vtOSnsTK_n9Oh)%?CqJX%DSV=rYJWm`Yz9mseW+XN#fg~YqA?+ufBHbdrAd|^P zWDjyYSxnwSZYG~0-zUFOpek4@1Ss$nRx8vfbShj?c&3O~G*t9dT&$R{SfO}CaY*s0 z5?;wjiLJy@TBTH@bX4hv(zG&F*?&ekR5?R=vvP~_1?5K+EX9c8L*Y@1DEla9C}UKF zs!wH8xzu&kM(SDWI1NKHrUlSaX{EGpXoIvV6^e?TO0-IzN{z~K6)7E|8_@&k>GU%C zVfuCYJ5?=JPgTC^Ce=38E2^*6=BRn7@zqMy+SNwX-l;Rxebm#`x2boj-+$9UX_#q* zYvgL|(KxH|bPjEf%N*{Uk~xRx+}4CO%`_u4S7`3j9MGKB($@0R%F?RRI-~Veo38Dl zovOV<`-JwS4pqlZN1(Gq=cLYKh6=-zk@^*$g(bH%l?AF&i?6%^l1I=DW>@EzlND7D9^# ziyKT5)03IQY-NsG(k+863oW}WpII4L#anH&>bLr6ZEu}!-DrKshJRucXj5p@WAm%6 znJw40#`fA=@?77!tLJvleQsxN$G6*KchjC~A7a13zSsVPgQJ7Uq0M2^(ZDg$vDWbh zi^d9LZDyT!LOXdmt#&%*^w!zIS?qk+`4<^t4d)BzcZGt`fY9xs_ri?BmW6#Ej(-Uc3$F=(7-17p5YfMY zx?stImIbdOy&}sZ??jnINuqkA6{8cPo1V8I2F~=-fTgud zr?_nHF76Ya2Y+t|Z<6oIFXvArxh9n-JxX>>-kv;};+|5G@>IYUR12P``lr^VzD^5G z+n@F+Jtn<91DBDQaa2eVrV0BpwKMZFhqKJHinFB4oR{rfHYExYHDyEDi?X}LG}+J8 zfW$TcBI8wqSIn=gRt3 z(5j`YdRObOE?Pal#&6AmwS={4Ykw%TE-Wv6xh`g1Pmxy9nxe7we(PI{6^cd0H#WFz zsN0CzDA+i-Y3`<~O&?2mB^OJrODjs>Z{}{k_?699m0x|@lC)*8%%N=0R?Jr6*6Z8c zw;d=~E`QH2AKMka+N6C(tJD2RdP+?b5w~Me#vP)VST-jY^P_?z{eRWFpNR3xb zd#z^errOuLdAqOd@z~Q=r&U*4_inFX@6CF@`pyQUhKhZdeL4FcHbyu0f6e;3xk;m` zwCTfs;eP3Xhy#7ij?K+2nk{9maI2(s@?gTj%YWZ^f79K@Y^!glx0fCQha`s{f1CL2 z^}|7jdylY=w0&pzU2O-oqofn+T;4g=mC_~cj_V#i8hEs~$EBy^d&}?lAJaWnb6n+k z*$Kjlq7$D^=AWECm38Xr>EzR6y-RxUoQXYituMT9@NCf8^XGieo$2@NKY8Bu{ILtp z7k`dkWL@mKTr6*KgiPxFNmCyZPu=`mN`;b8gSvS#uYCx8$DEy^8yq_ZxmR{jpu@AU!_nJv#7U z!Gk+v+_5J=W&iYkyyzkMVa0^bMDrutM}NmAeJ3wJUif(YN!F8@r^P=j|6Kdb zc>FRj6+1QlT=e|YubW?}zu5oM?q%0Dy!50Qvv`0D$NK0DpBb z008P>0026e000+ooVrmw00009a7bBm000XT000XT0n*)m`~Uy|8+1ijbW?9;ba!EL zWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008sNkl zudPsOak*-7=oBGSuodj2V1}kbMStiZg5V?w;^1PTNrw}xO9Rr7DbOgiL$UD|t3^-~ zL`a}RVxe^DkPhMfxVxyyC8l-gn~wXFe17k}-^;~UE|iI$a8^ioWzVV$3RbjyZ3JbaAn-j&!s#Y>#G2c5(`ek zjjUB_&p`Xm+#1^iU}%4ZuTLuH_I8dbeE&#Su-nmpg0W{(vfLE#vwsod*KN)nA6sLa zJb3*OsLaM0aJVZ8u(GI}#vsuR&J+7IDXy0W;pSMwJ$X53hrhZ2c+o`E61qjXT6 zIl+Y^M%_Pqo(465dw(99F^j42DD&pB1=!0i;q{HCp&p#@ z85Bze$FPSq9xmIgWRZkjSK&3Xk&Ueai8cBOuxJ(n^ml2cCuWBYy)5NklF_$#-}CNb zF855pCEq3Qj>~(W_x=5Ocfddc4P+}nR11(5!N3XsB00JLg2td+! zFb?A;jNmeB-jjjTmgca0F(%+9pFYCDNd*9ed!(k8LsHoh*AuHVXlgmgrhsEWQZ(il zaGU!@#3H^MpMNvL8nt{e2AN!y2DF2jSe-$}pB2}!h!06+M>yHYm$6Yzp{eDdEzLP{ z(@{P!#(1dZ6^jDE`SGZ5ap!h#}HekJy#F}cqd5P5L@8@+<)l8NPG;5=n69atSQ7KwNNu{ z&ZO~&wi}Sn!KAW-*KeQTa`NPQjbI!Akch4z5naKqS`}av+U?4k$VrkDmu+*9F~*P9 zXYr@*GPy{Qq~Wt^jKr_o549ek-SI}g47E_ZuKwn41iw}~=3&<&AxHptpZI1hjp(ZvM*ecl;iQ_7!F*!;yR;SS&D-_A&<#_kz2LPbx zu6I3Iq|Zhw9HY*UNAcj~Vs;391tq>1cfxfvr-0*Yw_nEitak5 z4zmI-9S&h(T0uG-GPNLMzRBbs$+3f0NE%NaW;xsdt{|;2fvpm#kJ7bFi2L@DLpgdn rpC%H{0%&{nzw-~Pet$F#)T{mh8rz0cTT`E(00000NkvXXu0mjfVBLll diff --git a/public/images/pokemon/icons/variant/3/351-rainy_2.png b/public/images/pokemon/icons/variant/3/351-rainy_2.png new file mode 100644 index 0000000000000000000000000000000000000000..87617e2761e41dbd9bd16f7e651237f37bf27cfe GIT binary patch literal 3250 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600F*9L_t(oh3(fdNJ2pv!12E= zK{Yo?aeEM!DFrT(Mc5FLM3W&64N+S)O4N`|MMF?TZ-|K2M98)V(JX1GrQuOH*&0EM zuR-omAqwx+6Y`txzB?X2zVE@^xh%_~k;BylYDN>N8%>~Y{2EXQp+0PyrmNoX*bbDi zc+^n2m7_@ANZWuC_HghBKq7skjRTv2LI^7!H3$t3*ow0SC~>=chbp(UINumRA%x|A z4*=lx&8U1Xdj^!Dj_D29%UAU^+lgplIBej5&J$nFO0wuE0cKx@&%IbX= zx>c+jc(QGBZX|xRU#E(714~6WQ^RXOxy8A3t6KLCepI#F5#Y(T3Bb9LARGxXG!5PD z0Zxr;l?Qk>?|6NE`deTv5@0qGprx}wC0rM$4fM1}0q7Qegd-ufCUJmsK#43B-Smr5 z0B+4oHJ0<1&VqAiu@J&aUfeV0D_5_pLjdsdR&Mk9<_58yIpCwhSfxboM& kKjd8ZE(rhmRcBXx0_cWY)O0EWxBvhE07*qoM6N<$f?WI=;s5{u literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/351-rainy_3.png b/public/images/pokemon/icons/variant/3/351-rainy_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9be0fd449ae677bcf255e941fb3c310de81a1125 GIT binary patch literal 3254 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600F{DL_t(oh3(f*C`3UV!13=M z)Vo;iWw%z^CR>P-av{luv%?;pXs=s)TYpOOr;UT!+{6J<{*)^x?Lm@4Q4~$@V2g`z z*>ZRe+YGBjJCChL+})+rwc2J;9zY?4 zQ{C1Nz*2fd*N0LwKmqDmixqAuJwiBG13>QKsc6kmYQ`981l-&^2KW-FkT0jZe+&G0 zdf$cVDV7ZEie*W}tskv7ImMEJmOskM);dsVaccTr&!p6u3yaOtv z<&Tma8wX&1YC?}yo`1ga?k*NWI6d7lj?T^isH$%P;Pv(bfKVWaZ6A7flk{}QifYo% zz0XI&IyXTY1ErlqM8aRLlXlKKpyiJe3IvOQpTP&&ZEwFpfJmfMx74-|b$*cDE}+Zd o!K%hmN}tM2--7U;|LWX|H}T6;)SzOxjsO4v07*qoM6N<$f<*`_jsO4v literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/351-snowy_2.png b/public/images/pokemon/icons/variant/3/351-snowy_2.png new file mode 100644 index 0000000000000000000000000000000000000000..22ee53ee9e903a4ad90d9fef59d5da28e270cd28 GIT binary patch literal 596 zcmV-a0;~OrP)X0006TNkl;l-|3iRLEz#KkpqMe((2t?{~nA88iM$&c;WG zNXTo>xs`8PfrtbViP4o1qbnhPo}CF@)&?)L$ekRYV~`B-)+?#!&cZSXuoh9H$+}#n zTmt~CY^=dw_r}JtFhbNk$RuhUL7k)aM3z6$1W5_O-KwK{ABzx~Z4iI0soABiL%AP;?&T-Xvr`rWH(`gG3~} zpsMcsodo^PbWs*Y=ywu~F1{KSO6m!E^bU9H*x7IV^IQ|jOjW$SSHj$U9suxaaS;uF zQ@yLR@3^_V92?K#ICV9ru42x4&Uak^z?Tm{aJX9s05tqftiHRGmiPC$zYRT#prlZA z)bdKn{F@Sz>*J~8O)$zqFQ}r|>Z;|HNKpU}alAbIdF<>r z)U^#cAmcu$BRApF|L7Nhh{XF(pRKq2 i#vAps#CG&%*x(jw8~#VwO%fXb0000X0006CNkl6I17JY<+PUj_QXrZG_DIPi{bB9hXlzf6>QbY|I3@i&4Vcc zje>+=ExO5|k03gzgSf-8+z_4ALcu=}oKAP=hxgyThMjiW=}z^!I7CWW=&@3&lQXp* zw%M$~4lm9DNaF#yz(vo_0x>o!dh+K2Ir2B$jB?}1P%*- z+zPani?!tF6&X1Kr!t?Bv+tdjFP5%O$2=uOGUaYf(EuY;~j z;2_0gzI=FZl_*w#+IlyaS3G_F;@*30Agz-G;5xcBHZ@b!}wjVx?4X;g1nG20-ATf_Vi<;1C5fz|MNmvZK~D&3W_^C|j;5nBk6& z0EmK_$!gnntFxAW=uOSL?g63uzW~;fQWoz%e=BTSs=L&x%=~xi+Il;6q2H(*@3tao R`f>mO002ovPDHLkV1hZc8FK&t literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/351-sunny_2.png b/public/images/pokemon/icons/variant/3/351-sunny_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cb1584e4c69ee95df03682f3f0412e526c14004d GIT binary patch literal 3287 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600HAkL_t(oh3(frNE=}o$MJ6l zp*ZMZQ7N?WVh0^WER+=N(m^5M5=0OUqJuhFL5e5}nxOQw5r)3N%e+ z0hLlNfa5rcsD9HJC@6q~u?zsuKWs#XGy*E6+=HL=o_r0?iON#|4Z5AZJ zi}ydcyg1_Pn=}A#r{6KNI2Ye02_gZuo4bIUEf$<4w&&n&&{pIeI(i4iCs8kX=OxzPW5&G;m?GT9r?W{YsYaCQ62v)>rd0a$ThMJ VXVhPS=fMB~002ovPDHLkV1j&kCnW#? literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/351-sunny_3.png b/public/images/pokemon/icons/variant/3/351-sunny_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6c92a04864b27cad4665d41240300c3cef732c93 GIT binary patch literal 3270 zcmV;%3_0_OP)X00004XF*Lt006O% z3;baP000U%X+uL$b5ch_AW20-HZeIiHZ3wPF#rHaiJg{rR8!d&htIt?y-<=6ij>f6 zXi@@54ZTQ_E-Enz5K6$103tR-RB%L5k){YTDBysjLy@r}iiH7DvFijGMAUI`6dRUF zWUU$Bym{}eS9UO(Z2>7`&z9wUXbV-Il#&6`Y8GKGQ04S2&F6MJnWNa;Ck|;8QE#r9r;7G||@X{|> z%+C|c55>;RS}qbKr-&IQTvLXPlM{>K&(BTgi^a?^4mXV>;xX8n8Ce|RasXz}{8imI52H3ZN4bfe_i~WlJ|C&UW9+{8AKoW!}eExnGFE2re(F+`iE_46#!l9 z0Z_aBhs|Iw0E)7{bq;-T9=d#9QpDmcXDh4R++0fmpKB>E=%LdZt9g$j;($`3&Zthxi`{{&gM}5&R^+h%b~yM9Zd3AWW9ETgVfL z1(`yIK=_}U_z%PWq}jQaiQ4!P(3V&Nr6C$XejWfQDiI(Fdt@un?|lo#M+5oIi_w{w zo%_#%{(V=tO#a9gB!7-$M?^BX5>d|Vn*3S!?g~$*UQipUPL&zMmg;!4Do9IA%up=Rh? z=qPj=x&RGBx1dpI68aT-2O}^EromdU5o`ssU{5#*j)WJ%$?!5bA1;Eoz?EiTr=n?cd`V|I)p<|3Oju?MT93~aB0<#&j8`F+Cg&D?-VWzQItUA^l>xvD zRIYI4MQ`g1<+DyrL=EogS06Xii({| zv`U^zjmmKqDIK93(F5q|^fLNk`gQs{RV`IdRle#b)i%{Ds;|}NsClUI)k@Ub)kf6b zsWa4l)YH_rsduU0(?DsMX@qO!YV6TCtMPOWZH~(v?wpc2hv(eZgf-1HBQ#fN?$aF5 zoYvCT^3%%Fs?s{6^;Da#?V+8jy+iwi_M{F~$4y6|vqR^k&SQoO!;_KDsATjprgSxR z{dFa}^}2()GkV5)QF?`X?Rxk03HmJkB>f%wz4}uIItC#I1qQ7Kw+-=zEW;GTU55RJ zuZ@h2VvIHzbs0S}Rx=JT&Npr~zH34@aW`3J(qMAU6l2OVO*7qXdf5y%vo}jIt1%lg zhs_<#1?IcWhb_<+P8LFo28$a^64R5J!)#@aTGB0pEekEXET35!SjAgyv+B3{Xl-wu zZrx~o$A)4PXj5p@WAm%6nJw40#`fA=@?77!tLJvleQsxN$G6*KchjC~A7a13zSsVP zgQJ7Uq0M2^(ZDg$vDWbhi^d9LZDyT!LOXdmt#&%*^w!zIS?qk+`4<X~g?%56 z2@eae34a)26HyS+zks@6$%2*zuOhu7%OdYYnM6sVdZQJi6QY}=U&naIl*dS8tzuWk zUW(I*6U24LW8oFzvR(TOpM zEs5_rp_~TJ^wNN(wM(bCZ0;`Z6P^ce2XB(^$}i_nB)KM)Cp}7bP2Qe7nc|*Ok@8f) z7E}wKr~0SXrM^xJP1~RLDLp2=Jp-4Km~m7{5vB?IGPN`FGKaIwvx>8%%bb_(Ts9>N z5;bK**^9Ef#WdN^)PTf9vR*Qp{o-l7 zTcBI8wqSIn=gRt3(5j`YdRObOE?Pal#&6AmwS={4Ykw%TE-Wv6xh`g1Pmxy9nxe7w ze(PI{6^cd0H#WFzsN0CzDA+i-Y3`<~O&?2mB^OJrODjs>Z{}{k_?699m0x|@lC)*8 z%%N=0R?Jr6*6Z8cw;d=~F3&F?+a9vLa|dHb$&Qyhm+ZVyVOLSNi?B>BD~Ee(8aT1AWbo&CM;EEoH56tE6@EV8X%6-*|u1-NtOIZ>P7H z9s-9XhaP{M`0e$>L5F*fu#U8SXZT%h2eqT56Y5;vIn|ZYCGC#u9zGg)w718lr{jCe z@An_mJyvsE<#^c%!il02pHAkVoIaIx>gnm^(__6$dheWxJ#(!uyl?Pq(Ao3ne9xWf z_v}A;-u3*k3(gmgUSwVDy5w-FbHIL};|Kd6ItCpEJBJ*Hx-UCj?irppeBz4xmD5+f zub#UWaP88_{E^}7QP*$YNVp-r$-DXJR{E{yw{vdK+*xxMeYfPE(!GlNn)e%iH2tw% z>L5Kn>ODH}V8MesW8ASPKV|>)e!S=*`C-L`&P4Mg+egPHeJ3wJUif(YN!F8@r^P=j z|6Kdbc>FRj6+1QlT=e|YubW?}zu5oM?q%0Dy!50Qvv` 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600B`+L_t(oh3(hBO2beT$MJ9I zBNQLty4dys)WJUxIy$%%DeYQtD7Y8wkV5x>gOF8`;sdxyptVyUAmWrK@EPJDiAgFV zJ*TGF{HDMS;lnvM+;gocirC~>B~X|WC`}2JW;=k!m+D$+Qs!~B`G+}ssv9zwy_LYI@%Ka26@_z!2 zF_BxT@qTyntM?_ym4P&RnSEF7_LJv4ybz#UsU?_dx6i@r6Nl$x+_#quaz0()-wys3 zm`4I!?Hxnlk%migVxWCF2H@y)f2qau=>niQU>@nuLhKWhS(oC(K=}G$(l~z>Lf~!2 zNm4%>(CXMpOX0KS@%{tZk*78+d>4&pwXkgyOSWb=0nvxNrFXh fCftro(>n73n7$a)X{^l(00000NkvXXu0mjfH?Hrj literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/351_3.png b/public/images/pokemon/icons/variant/3/351_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9035c6243ad9609da341b5fb545448639a8d282f GIT binary patch literal 3149 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600CJ^L_t(oh3(g|O9EjS$MNqi zP7)15(e~zAOG{9TP)i^rjz@D~YpX;^e?x(DG)h8)i_l`w;-X8#;-h&I%~Z3MkDAD9v&JjWHIW)9EX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008t zNklx4Ta?7H8GS5sk&`$|2qH()Q7o16snhyFT4< z4nQ65!|@gX)BZ6viBzOe1Rxm*y39)Of@#sT!~_8q`(gz7+vRC3LZ&rT62hlwpO@&4(ATB8z9 zR!W~k#(9<)>^0N~&JCu^NTeIW8Hu!VQo>bVj}lniQSfe;8+Nh2HX?p;AevGQ#8z91TlJ2vg6KWd@206k%{Q|j5h=8Q!8@&P5JJZE)?Om+&fUgO)#As)Qi z$16rk?@agyCy5s%pdbJazMcXwdECW@|D2vr6##;%`)W&(iMYXAHN}Mi-Jl=8o1X9W z6ChG3+Hi~WoE_BY$*)k_vy+3KA&oozk~yyF4;G2VCKG z3+l_|Zm`(%$MkJh6x^jc*sk=mR@di(!Gs81-Hp1Lq{Bti-ajXVefzmcCtt}&Q>$;5 eX1exYb-w{{PXgo6tON}J0000X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008+ zNklnhi|q zuK}GQar=-E!qCRbByRt-+9V*DuBnn>jfS==pb)}XzW0z+IKuSe0;zDMA{^2kHzlW9 zZO{^~(e>%b^~VE+E#KL-0Yly*IL)GA%V5$;@QdPJ_p=3EJ;m-eh!-o?WEO@8ORkK)K z8(P5Y>Y8lRitPZjb)U7tNqN$FCcA>xB-P0{9dmNj-DZRk#)STY(UBoM={)6Im+)nt z5&d@3{BY;C1@3fDf=w?j5W0EYnyf16TD2sq2`JZz466i$J@>9|{I=SpE3?Z%Vxbiq zn3@>s81=TDnjx06ozE>*fVgQsx5P;9BdKu2wrSUVsg4=~bdxXcx2~OQE>S2QJfMV> zbykJ&#r=rr2A$W|DL(4Pt&fzNneY!Pi5nzfK>%z$UNZ-u^Pr8D@mzTcz^Sh{tSv=O z#0g$6DfSKM1YLXj-1WIy0knV@U);}w{tQ~No$U5yqT@4wS(#+=9LQ-#%|Z#=GjOq@ zR!c~L==cnotodxRYp--3%5e)S!{tn{iOoEj>>k{KI@qYxTB~Zd^bXP2e|RVATCyB| t{mQ)W>j(Ci$%pdORPUdqmX7>i-5=bQ{nQ&U3lRVS002ovPDHLkV1m(yn0f#J literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/382_2.png b/public/images/pokemon/icons/variant/3/382_2.png new file mode 100644 index 0000000000000000000000000000000000000000..040d5b4720322d491b4567f39af7dd062c73af4d GIT binary patch literal 769 zcmV+c1OEJpP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007v zNkl zv?W6zkPaHiCV@oSNg{HSAQrWUf=F;^CI=;)Lw#P~`;}gENhvhn>F#;od-HjIy>H%# zWm!1Sii`n6Y77`wW5BSwIDkZC0f1?mk)bU3PeTDDBFkK%hMG3bPDI1KedLj45xzi zaN-hr^NMW_LplL-QNq2A5?<(cu%yLo&dP9p4Rj))6V3}#jv(+qiVIWAHZZToknKYS z^inQLwn)DE^U=0x528ST<_fuL3OFu)mUH~f0A)xSq*zIVc1=7m6_lw9=eR6x0Mfq2uXB2II| zufajY<X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007x zNkl5!$}B!d)kTcJqNghn_Jq{|6aJ4h&{g9#DOA^u+8{YiSwC8f}Or+dHm?%n72d%xd% z_d=Fs;W8^U1PrJlU{DPKgX-!45|IS}rfG)yGU0#q1(1j=b8E8oym;UV$qoSLb0RPx z!=>l;0RYQuBbeSC6%Y)j9i57Ia(8a|hU^IF$73S0%1d<=GEHHV0g1?Rf_0nEHy{yN zrHv8}%^!%-1d=OB*Q7*bJv%&Ux36DwK>`4e(PNRG^3w&#aPOZ#79T5QnqpZvvc+iK zbHcpQu(fl$Qvd)hQGp(d2)i={WZRj5+R-VN*G2#Ug-p{1Sypd~vERSdI(nWr8p!QV z;qxm40H9_SXo(6|l`s~L+bK|t)`e5-fDGDki8*%|&iwNi>+|ETv0jkf;POU8fH2&u z5*F_=d{;mjl%IJ?@7}*H`fD%WA+AL5)i}ZL*H1m+SgKxyHvYf{BWvNfm9x%e_O;FM zQm}5McMw-1wlNIpik@CY`rbp#Z+}2?C24b3hU-*7X97CmyddQW0_`ZK=k{%2UWFms z`wHkKRj=A2x&9_>+q8R;FFElYEO0m0P(Su*izUL7Q=U{*g${`2>_*ylBX2~RFKm5Jde;ofKE_ZUS~B!vKUrAIR*mgM{@OZB>6-EFxUv57t-|u@$(C4 zX14!1*o(wf;L~2KJu?fyeX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT000B3 zNklGY}lIsw}fPzd4fk5?EOHtPTZw(M=X2YNU;I8v~060|KqKlPqI zb0~fL6#$_-4>&nE;>F6n>YT*Gwn1BYyD6ZA+p@QbM8h?sgpsKpO^yL@^OqZB)-yz+ z;g%k4$J-47Wol0jj#LV}2YOVh`)}VT5)A`zEpVO8dWM-RGirWjJp+L0^fiQhm$!O81`n?^&x!kW$Ho6(x_%zz`qraC7Tam+H2XjlPEPbHL!(zgKJ13e6G8o@1of^;j0!py`@d^N+y!WvxfSD^ZWOJ5+mX({$Sqe<{$qTna9H;ki z%(C+Ci@M!qKCf8pssj{4xWz(_{`l3Jwjn1$)k{JM*XuhybihC=2)yi( zvWLpW6xM7e=O+M~E2zT(zJR*Xbw!KToZ4wZcOED>=|%lnPyYHr^;4Nv8QzxE5YS%v zp6KmQ>m--=ZB_nOrY{z9B)?c-?SmhA{a(}$SgTaMK`=3bs_ODWHOE z@YU?6pck$;7E)WHS3#NPW~#LWY!y1BR8kMA-f6tTxmAPHctv^ByQ{Q{SN>_zo4EId ze&3L?_xbJ19RX|tXk-8#Ut!gT~tLONzy`O>c&yj4I6={@%<|0?g!kNew- Ze*uy{CGwVHBv$|c002ovPDHLkV1fd5_Ot*1 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/3/383-primal_3.png b/public/images/pokemon/icons/variant/3/383-primal_3.png new file mode 100644 index 0000000000000000000000000000000000000000..952e08e33d2e8bbe504c332f806d3ca7aad078f6 GIT binary patch literal 1053 zcmV+&1mgRNP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT000B1 zNkln+p4;dBFOJH1KYNq@T3N2^1#Cw^rIbTxoWRI%10di+4h&-N?F#I(1nmm2nR?Z& zd#wNTDgfs%Jiy-D<@Vik?y*XD4cf`uZ2>jh{p?MKViR?vhS8~xEhPbXX?2I?;u=G- ziH;ua#@j6cb!zRs-GdYk3`(lczVQn~u?YZ9KRUv4agEEP7iIo(aSed}TDc|UGY1@s zO%NOlF=G}5@bsf2GAEZyU>hd=wK9R(c>pOSKV&Po?aV61ex);@AJUszuX@$3dr~0L zXo_4eA#nPCN*gT!w==7}{@$g!@z8*QkzqNf6|oJ|_1P1EXf!1%YTp9%4-7(S12`xe zec#$&e`1_C*)Vz+)K!rHR2LWI{JIq~yluvrPd7EHn;4^pz1QfXky7$>kCPtt&T|O9+_mli_Pu*o;hK8>V>o z_T6($RSS-V$WABg?q^w6Ujv|0%DGdqICUmc*EaMdaJ{6Ia{RvYh8HlLF8~KUQuk23 znC;9eQ!8$BZ>yje4rmJKHM&>Pbt^7A&G`!t1WtR=d#~KXE$OE^tvdWIsU_f7S3l;1 z&pvICTwhl^dR$C@r(*HtM?doSr68N1dDv4-@n zO2bX9q}hy23fzaEzr(3B5n@Y87qYa$x)tYod6b=7C4nR~PWajtveQY~9ycSCVjXP)g_h0i33-YF17Y(Hi!udi+)!G7Th*odS z%@p**1!m`EOY|$K)7(zAj)0xQ3#pa#hE^{)7GmdCiQrgByy@RnI>l3eGX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008; zNkl< zGR8DDWW%$yrzSuEXw}Z)@JJZ8RSvsMP)mU0)awko7`9aa;D7{uUA|lz=v2UIOG`oD z9Uch)pnN%k6br)_@Gixp69H*yhi#QBX9Ye2x?gqn67fy0Z&s)C~YUk?smPbBT?R6y&$gpo`P&9s=nU zlKuor-w$63N;imT+cGn}*C{;A;fQ&H>00@qt2#l_gnnvYFJvC&* zX?71UGVgRArm`f4WkAN5)~uEw#loiF#MTy%Yy%kij(jRAsK|X&jWi~l*okHWPJ<&r zx(RvIxU}>?dVxZ{sH>3#Nil4zsO9q5+N%?(^lPmlBgh^sd7r z@p5ETZruGXD@cVGfDW#=b%S451D*)fNu*d9va$}^V2tb8q~0{;W-15(<%4}hcXmw^ zNxjEU*5GQ`p~!s>XY3>Z#`bVgHSy&w0qWEoGm#Voa9g|nDpX0009)Nkl?W0ImKhY)xoe@F|7+`a<>nK{LDbd)*#iI6|Se8ayXBi!mwI_D;h(; z)xqZv@8I@_F{>IKxkE}Vy_`dwAER-wgqI(GaVIa1vPeiWN@azAKQ4y&^Fy4RsEdti z94w*t^9TR^;wTFMD3ui?BpKziYsAG6f|(qGncQt7J;2GaJ9Bc8`O`KB%=Kuf?8n3IG_iRg;U1FS_C=9ZTXcdP zJ7#WeFY5K~4FDh^$pA3YEwxsJ+aKngK4_~P?yBBETny<#GL7c9YY2g-w%D)P|L52) z2L7BHMkoRny*|{tH@x-;j?^sVAtck-l$NnyzBHAID;l%CvwwbU>v+c$Gsg6*dV|9e zRK0rxwN}KStzyttIiyo#P#jh(*e_oK03SotaP&j#oMdy5;3%C|89S0OriUXdw$#$P zaAbvV&Nw3zl5BEtSgl}deH+r-*NBTDlZ%ciCdl&HHFl47M#8!MVeTMpic;JxgHjqJu60GQwqS%tgXAQTIN?Da`@#XwxVecjroVWT)IWXsZi@H0cFk=!PB4Fkd;gt&1NiX`o1+N3 QU;qFB07*qoM6N<$f<|YVUH||9 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/458_2.png b/public/images/pokemon/icons/variant/4/458_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4114f82639b1be74b43d9a69c09e972c0e9ccc GIT binary patch literal 453 zcmV;$0XqJPP)X0004uNkl|?&Z1n$M=DUhlhuU$JP)LB_e9u9+rrRnpPreT8UUn zx+TBoG=LQ%qV#GQfM60e8jW@~jkW7kCVKmYS->pk2CimsF>`$YoMg`xA#)Fkh*B@H zzcn}_qVBFvl=^qXQH6(^uH|wL;^E1)%91O1k zc;%9S7MkxJ4+k9cfL;v~Orl`3Z2tHI5mDW&4}eu-$Ug;bo6VRvCIkuF+h&|o|q zaP)QqtRC*J2`-Cv+D+=E%v^ApdMU%976l---vVasao>9XT|u*Gr`@y^1Lkt(l7qcr vaeNJ#%f5^u=H!@h?Vhx1{;l4_9{+`J0`;);CBT-N00000NkvXXu0mjfk1ESf literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/458_3.png b/public/images/pokemon/icons/variant/4/458_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf77428ebeded13516d2bd47699dddad585ec44 GIT binary patch literal 492 zcmVX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0004Z zNklAMO>Vjf4hoV<7r{*ssW^8K#4g2I#L1}z|A2y>ibIj^c4-v~ zItYSTq#zC!Zqex!>L9q-)!`f@=QT$0n)CD416q%rU>+|U8l z%E16ztV2qmY1OO&C30=o=c?!+zcz2Rl`#`ObMW0>7*LCUgXz-OOCn)~T9Vqu8HZaZ zxF44Q%)U-CKC>9?ZMT{{PrU_5=&qXo28QRJ#Ho3>IVF`TQ^}{9U)j(?qaq^%rynOM zJ{@a;3(K2$o`(#e;Ta-RjAvj zQp#lmpqf%HOCqrZz{}h_@O3<*j3VPPqqb7QfB=`ulsndY)?!`4ZC4{<19^+pNN6}V iUX;=PqwYtB9{34>5--$Tch)=r0000X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007+ zNkl2O0ABSa{H4yBm{1&ak88sR$R21%xXqZB#_fk5CK!t?fR{?uM_6)AnTTyp8BzxR3G zycY|Cfd9E-*T5O;8aQiReV|fGe?h0yiOnn;s;PkjtK3PDwdV1gEu5ns5G^z`P$?DU z;$61Z7x9}dvevwQ&u_K>aE^MBAwvO`Qh}M6-~?u3?^c^5NTpN|79JYdu&oiC2{X$? zDy4!C&mXh0Sr3)&g@I;zy@M+4^u39&aYz9ItZdfx`+viR0yb=m-a(bjmo)Wki~FlD z0od3+)Sq*#)YzpKVEgS;=AONy?AEC6RLHKD&P7fI^p1a#yLpSmlFi2UA>~q$Ouhhs zz2*SuA%elsNP0K+Uh(_MYYha*u9o!Q8OBb%#EB&vfaCOSGWi1CkMH&CvRlKkQuJ{M!VFapn-fAe~&i zOYvcj+P;U^PwM+3+Xu%1{aqJ(&7rze(fgk{#U>Isv-B59ZziB1rKbQ5EtiVA&tQ<0 z`~zXqn;9rbIDbf_|IFUI=)obfA#s-%sO@_?y>h9j4+Xh+SAW*)Ckb<^iR_ugM8at= z0=fm{T9_kOqz_H9+_Ic-_V-s3y_EA{m=dV;n_QpfG2rSyc3yV<0dx@&UKL7v# M07*qoM6N<$f>K&&;Q#;t literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/480_2.png b/public/images/pokemon/icons/variant/4/480_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5db1971cb61de86c81aa3d224cfcd8b8cca52c32 GIT binary patch literal 788 zcmV+v1MB>WP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007? zNklL`Z|Pjz4@c{y*!JEXUj`o{P?@)+}!80 zZJWznzH4BIbq(yau0BvHrN7|t@X*(>sHt271@KLe$va9|C zk?~0?`$c;C`}BL2{UQKerJQF-M?j^NZ6+o-ftlFf@6#~e8gHAbCmA6fo6KUqg&j3bK_K4JEQ;std%kS{=cw}fT4*zyQ5q1V4kDJhm2I7 z15jRH)t?JQ2ih*R0CRy1nd2NAg?Xmt7Rk>Ho{4k?Jo@^L?z?vw+8m+0zDhDRODrA+ zU@1Edpoa+RLnG-G?iEPwq%;s9KQpNRPBYf^5)W;T0C1~2Oe`Me!_H^@dZRE;AUdG$ zmF-86fCfG-Kjv-Zorbyw3Nkd2Z@DgmB54XB5FKdPa%7p!^j>to;`PzXQVuMA*aO-p=L%>dB}wTsfa4!u09tV7z2;VK$GN;OD1j|2M&AoH+zg zPp9fnaQprv4z||_)+~LWXZv6~V0vMXrR+3QbBlWaGpE=@0u4)lp7c5b3Q~Fs(9mRR zR`(gylahbHNqQXv1qo*liS(b@d*?kkcs3-x!^<3Ouj%xXsabs}sQMH7v%#8$lT(dn z&m<-iPI?j0Eg;vN9JxGwXp-fY<%GuHUrF>r&Vx=$pwe%0-OXdb)qm`~==uw484Kg7 SV>$)^0000X00004XF*Lt006O% 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01m?d01m?e$8V@)0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600OQ_L_t(oh3%I;NLx`DhM$1g zv85HNOY5=4s3pnZRBN^lkw|e!p#%~f+$uN-(V(4b@dq4)cI!|Klnz3R7@DD5g3>{X z5t61zq@_^0xwcqthwvRwe$?FLT8j8?_uPAKp1j}B{f^7BEdFP?E&!X<1z@u}|A0y< z{eu1deOJ>&6>1nzz*_G1(d+LgpWfzhD+f3WY8y}~Ww`@hTD?B<>1}%b{rX-$y$!(O zR?aa-(p{+5+^%B1~;ga4&I0BwUJ3W3s?y%I_S8ni)C^yP9c@8 z*{CJNg;Z8M2*J+zz#zz2n|NPy*b+8i7ECMLG;|_S~y4^)_ zuSg-4)%zUlgS7xRGD#-q;w;b3GdULrAQ}n-R6zn|p|8iirT_&}athF((NI|D8I+uo zKVZkbrU3;Kz#Z@s4TWnKiR7P|d-V^y7z1r(kVX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008w zNklyA1YY;5ab;$5ipa|gvnJ}nB!eAW|0}DI| zF_?HrL+~mnLJmUg&_BV5W=tViQ<>m|DRxNe;BoMFkmuojH#hgX86p0T@80L#=l%Vj z-}63?Mbk9?=dhdr%Zw9XxpDk~LJ0MMbUJM*Ta*)r0_ssC^-tCHP&@)u7HSG8VLj)% zSpS`&+1;3T&&K8!L)#M-LzWB_LTJTcxe(xXRYSA8k=FKa%tjjw_f5v$D*Rkxfo6B3q1+M(&^Fku z#vOz;1?=m4jP2KRs{7;o8K~#WkB15b@N;*^fV7{s0Wh>Zfj8??<1=So5DpJBK0QiZ zXH!vRQJ};D1|UH7RTs0-2IdkAJP38+^f&+r_=5W)<#>0^B#9lr0s_=^HmU#2#g+^l z+MeM4soQxazIf*nPLG3?rByyeKeCuwHq6ugkbna2zH6uIZd5@{0VPttnGizLuX_OZ zdRiEM_KG(zAMyG6WfG(B35SP^W>KF#>qbA>+JS}G9hzF_7K1(ZlIenBMCZ)*i$GBa!O+gi0kS&Uhesv>Js^OXhWLS@J< zb$T2Gd_iK?qvRa z$^uH{Oz#-s@UX%Kd_luJgS|}27ci5(vVjr_`!|VxqY$!p80KE78;6QDNyy&8Vrp4s zPp)+mFC%76VrExUu``Jt38+sRpr(MlW@gJ((L<9gw=5@s++s->m^%_2$*C^)`z@~@ h<`{7NkDW&ye*qM*FXJeDe7yhw002ovPDHLkV1mVFeX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008{ zNkla@s+Ok>w7lG-hS0N#!! zb>C`OQ@~rdTW}Tk5WDmk%fs_r9zCT%0NGAmHxfFvNm&VyU2?W`mmnWnX^0j*jCzJ<_rwQhbh~1EUm>SoQKe=H6l|H#-B_Q3cpJlrz;@=1w8WF%iHo^1vLef zNcm(!h=lRI2XN))1v;+X!BaZM;ogrtzyE@^>w&B(8q+)Z-OtPInOkl8J!rEy*z&tf z&Dy1(v)p^yi4cNlG@1s?g!Fba5t;~ROm0m;iG<`Yh(w;Nss~^+^q{D`n+a07*qoM6N<$ Eg5q+MUjP6A literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/481_3.png b/public/images/pokemon/icons/variant/4/481_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c42845e9ed7b8dd6476f1c26e64b90adced6282d GIT binary patch literal 847 zcmV-V1F-ywP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0008o zNkl2?BT#g-JjkN=;wYEP{2%&yJ*L6qDqJr8K(2RO@W4F5Q8(9bH3$+E5u*dxe z`0zGMd!VuCJ73>4(4AbX8?tJk5W=VgD=gp0dJ$3xVc3ON1(dkSC%>7v{-@~k#nfs^ zv>7RcFlHiQ`oa-g>23%#<9d#Kp*_&Z#|LAy^iEj5H+FNE!b`BZ-4Y1U7mld=Hp1Eh zUJeiQJ^G7t&#&?H>@7}RnN}cxN1vK3$kr1s0J@WF_+3tQ|Nh|y5|Jpe)D-T{p^C_g zK#2n^K!7IKAzFGTSWK{iQ zy$j8}?zzj0hj9{-XvGxG>1m^%aZfgvZME%n(C>0GdVUXwPv%>lm}_M;F^3QWUDu0% z<&b^h2-WDTUuP?9=Dof5%k5>>3 zgh*#|>LGk1>-b$x0M+7jHm4GV@+sD3HzSjfwY;R`@d`CNWmZUCmAY5z7sGY;}g zjhqCKPsi_aa?E{{jJ85Ln^X7Iv<_|r)aK&~6AXj^h^3}jUeYZy)eN^Y{%QhBja$!IGoJ-OCNysUIK zhn-zb-OeOtB%oetfEohwnw>3IT@OvN-Ljnka*HKlVDCtX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007= zNklBoh(=AVnGXLFjY$_H!0XQqyZ_|K^z2K&LOa7CNFjukTv( zB3E1^B@m!6JE7jU!ny`ZT-B`bdE^$Eo|nAeig^b9oY|xMafr1QlWaE5q}Kmeq%Yvz z`v>%0kFmIT^nP=G6@W{l5tZ!b{3_A(7&|cyncn5XMZPA#DImb4*01_;Vm$)^5(yNp zYF0Q{GxIu>Gm_kMlx&as+kEs46@YT)N+d-!pF%(w^Rz2S2#_^lZ~o``TvC6rQUx$~kG|h80d52m^2@ zzo?Msjhreo)E3H8aT{oyoNu5+!qF$LYF2o5?FPDT05qLj&aFlWVJ#K6g9kdHy@MH` zRz7VYjIJB(m*yI7)X9Zq)>cgROLHngIha67+ze{}v*O2Hw1KcnP^L9Bl?UMMi-(<0 z(0=xF;_Qn6YU%V2W(b8Zu(x~2erZnqF0g&D5pb!vjjkJHvvD>5Hq)$07*qoM6N<$f)Kf4;Q#;t literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/4/482_2.png b/public/images/pokemon/icons/variant/4/482_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a636973b33a7b515405c7c0de00a0f81de911f4f GIT binary patch literal 795 zcmV+$1LXXPP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007} zNkl1nMQDS-ep+OT@R6}D!e#AVW1;$yE^yLOnl3zsbeFTTCQ%k%eHoLwNKkD@hq{uOBp z_@KDT-Xm_Fwj5XQ=ceNT>^ZPcB|A4Ar_b*r7MMV$cl+xUj}8qgAb{4~sro6$S_T3P ztt~5DCY|NSw{;GFIZaRNS%OnN91EPH&+k*n-L4h@I{Ld+e-gO=);YdEo>x%Yz;dJ+ z_bK)fAp~P*o)MhtA^h$QiPsP5^ZQha^Dl}DX-=>G`At@?KB-!2Tic8~*sjVb=j7zz zdxi6O+W@$G{gOidOs%UjLusMtxfD=2Iom*qgg>9SOghVrkth)@3Q%=!m2Wjd2t&`M zoClUeo4mb1seB%98xbu^F`1~iQ4i?jEY2=aOeR!_XX)f;Jl-~ypiHYP z90K6Oy-4E|G@t#-appw;rF5FSy|_;tCBL*vF_}=mb8H{11k`gWB3hJ?KC0%Q+)B!k zz=qP-l3raviIj5+P*Ay*n3IwNu##TgK#AOHk;wUHo_n<(92{FDUEvVteKx#IdV1RRwv5|Z2EeDwcB1p?!^)+=bLX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007} zNklQ-Ge7NnGBc_2a% zBBdau;7|pH<`JP0qF^OUmlji6gcKdbCYXR7Dk@Z5Dm;g9=S!N{yq6a$)EnO;m(Tm% z-T&^|Ow;6FZf*a8O}7076hc&VRwxwOn(fmSpoFble_ZjrXJ)u*WK+O;FxmDLD1&fQ{m0vm%8M=48ZRbUJJ+Sx3Mv-x%L! zZ{j(3qG6;20*p?F)%)GB4Fj#XOrz(+UVMFx02|sm9s{0&Mxl z6t0-d^ZsLzdyn36=BS^!&T(ch++i@-uaGYeZ37U}G}WI3eqZk8us^Gyj)B!kEAHy* zU4#&vU%bIw=Qz(N-tg0S#bB^sr5JggQAlfg2R1M9tK((ep>|YeQhr?xV=>R+F#VTSTT$t0G5+Q~TvN+kT*;)=OE?YA$YN2dVl&aLWFBZM$B zi6!@e)zIFqa@h!J8oq!RJvv3UWYjFwlM#btI!(4@s08K5xH81`pw>TITl|DC;8h9A zv{HT@K<&{jP0)JwtHxOu0hH6}?Fth;c9QtUI@yw;e&<>ptOd*@me8Y9#Ns1r{>f5O zjRY!&zLE5r0!pNuQ-FfXQesU?et@0yng&YbZi__DKkM9U^x)vyB1!pm;v4HKy^yA< zLxKDNC?{y=RO8yE$%=%X+nV*6og-IEZgp}vfgQUC*t_ku*C&u Z_8Sh-7~}iC{n-Ej002ovPDHLkV1hz|a!ddK literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/562_2.png b/public/images/pokemon/icons/variant/5/562_2.png new file mode 100644 index 0000000000000000000000000000000000000000..93b69b1b0d3772acd96ab7047d2dad27850ebf3c GIT binary patch literal 373 zcmV-*0gC>KP)X0003zNkl6+gh&R25T}h=nQQSJ)V{Aawz$`2=s37@$LkZe~C> zZg3=HKh(u%a_s2k$_}LQ6^>r5140 z1HMJOb15VxNK%{R{)^}YyK+yTZ+0x1V)7#fe&k$9DgGo#Qu~sbO(%FQjxn1~?3`4J z!Gh+InhPtXigL380F2f{%rDL{S`YC){z!G&Bd8tpeGEphyJqGk+D+6~>eo1!6Z8V!IjleUskNh|t%>Gl%92{#KD6 Tn!{_&00000NkvXXu0mjfq6?sQ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/562_3.png b/public/images/pokemon/icons/variant/5/562_3.png new file mode 100644 index 0000000000000000000000000000000000000000..094cf78075987820ea1ca49614322ef8dcdcb25b GIT binary patch literal 377 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%0Dy!50Qvv` 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600SFIL_t(oh3(g0NK;W9!13=? z5H3h=SbI={BLr%Hgu+#%AtETEl3?J2;DZSX^^nCv5bD7S2Ks6sKFsHVGQ|{3q$yhA zLs}6H+Cv77qy@rAP}hT;!`uuLT+2%mb`L(*kRL48{V*12%az!Uk^c0C4+E6#$WiZ2Kp{k|uVj}7Unc>#m->%oYMi~UfV*R_xPIOV!0=|?@d1sW>49^r z9oU_hh=kY4Z+feq=?^U_oL0IAz~Gzw1Z1+6$q1MZ*H^Mj*R{+1d{hBITk|XcGy8V@ zT95``=fN1aSB*C!Q>{>1pb=@TJ=qLRIS~LB-@A!~*J*2>rLQ7Pji*axH{kXX{g#`s z)Txq?5zsi1K7)%6K~qiyU!? z5MQN(LQ$?VDw`)=qgcwIell6uo7H1++geA!!^VP>i*;dYt2_WqOgAPp%CQ6GWU>wc zo|X^sLR2ekYxJBNW3MYvH7J24OWo)@I4etR7D9-aR#XTaWGmqI@_K4ZVfEqHf~1e(?2Xv;_(637ZJB{13BUWO6aGu5lE0HZA<#|umb)py`#^%$7~&2|n; zubFhG4IxDAUFbO;S8p6je-GgMWv67RJK@J=au!Sp)I*aU`R7(U2)MnpdWRCA$(A=& z=^XhqV;1r~D34bX3gB_|rmVkAj#-w05(%J(LS_w;wFB#6pvFkmy_WuyoTNDMz<+6q VljGY>0P+9;002ovPDHLkV1fgy!#4l` literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/649-burn_2.png b/public/images/pokemon/icons/variant/5/649-burn_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a83d3f7a763639b2a318ed4e3e8ed323cd61f522 GIT binary patch literal 780 zcmV+n1M~ceP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007) zNkl5!AsUB{>2aN+8t9N=ia? z5F`>h1Y%k&f)s-;($owELsL4HPJvb;xYS0FN|(5VbBN#9yEc|wE(sm_ru*J~U-;#{ z_y68Io2F@;X0x3ETC_7jt7ZvMaj1sFwQAO8ndpeM4X8L&ZDubk*U6D-4tDnpdpZH! z7NCHOJ5}_MpPzrh3%kYBXTsy#R13vmNE7#ZDmkf}4TiPke=PN6FrXek*xPQk?>Hjo2M=0h6pj55{aA7kg-!HG7Hw9@LPzYl*;+N^nB=Sx7hGJey<@&L-cMVW+ zsM=IIKqirwQ4-b+QUD6uNG$^9YO!TN#i44KUlsZN;-LXffHm_024#0uBm(fkxdj7& z9_;;}0E6FN15nNtIM_8Winaj-WUZRz>BlvLKX~sK-gl3Qx+hqAd%a_DrUCVktE7zWuEdqY*#b#R|dj5cBCBg5ef!dc zO447eW^MYY2E#-0&dVh7vIZ50s*Ohc0C-&X&fkOjiRFJktnVtoF@Xrkt^l57`mR#W z6=dBB6$6GSZWkN1yT4Ux8PZZO7O8`V7{t1qE6Dp%L`-q0+Q6`f$V!m7Q|&IG9&Wo> zkr5FPfE312NHM1MB!Z&u>=&;ZAOZRZorW%>hlJMKp5=-9>-rD!iTts;5+Gu@Xt%R; z?3?5yg^P07NGzB*QY9iov^>(4&T(Mq%(N{0000< KMNUMnLSTXrx?X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007p zNkl;Pz^3e;ibMhCf}=J7E7)wc#>&WrBd{8k z>Xz%P#&L?Jl*~>)u=#V3u462%FcJ0fWbbd+;2Z;5A@liHq|>+gG(MIHabRhb)8Uf6gU>f%+$PN1-A{TI!EgL zXYJeG$&*TEFwH{(elL4Jei86{0mw$jbOhBOibcY`0kpzx@8q>#N-3;S4fwtK&MTJ6 zx(0<1GL_5#FzgxX{yk`&SpN6J)~*6H2}D8m1n|_umabB%)^yz|6$7>?n&u(UD35j_ zUG-v>I%tSNtt-`o7w7x`8)tztT zybTf{6dbp887m~T-}YQj)F0k{WAWVYrn*ufYPjgMvvlp91Kp`vHRt tsNmjQy9_j52b@CoC4$!VKt-?{_786Q+SKk#gL41?002ovPDHLkV1n0KTmk?9 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/649-chill_2.png b/public/images/pokemon/icons/variant/5/649-chill_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2c22d19aa050d06d9137938326aeedb1748a35 GIT binary patch literal 781 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 JPDHLkV1m)dT{8dx literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/649-shock_3.png b/public/images/pokemon/icons/variant/5/649-shock_3.png new file mode 100644 index 0000000000000000000000000000000000000000..545df9a6171136d7d8ae4d00b49b99221aede318 GIT binary patch literal 765 zcmVX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007r zNklR_PK+71mBbaHa&dH3XfIX~_> zPn1%0vdB50M>z-dDxLsE#Nn)z63;{@-_a_dh$yvx-{_IV7R6G|ai$%>Edgpc3C>}M zyfIm!JJ4nHkDuN+{8|BS8SvNQxY2vBUvfa&W%)~{=6B(NYe-Ki?(a(hu>LA!?1M9V z#A8ta4y+>p9?d>8&!;Ant{`0l>c$uuo-pa$&KDYLTE-7MlhX5w-gA8uy+n2b>0LWCI+X?Q4^0z^88`4gfpYlgti}=flTf zWs0So=c~qbij`7~-@40h$Ob?@4F1t8e?p9+I0sv4X7u_ z;LTlQ+t|!9GCYB09TE=p@MG^c;ZP3%OA7%LLH&o~v8X?QcDRkrtg$Pl#2(dfsK?xS z+xdd2K@m|S!xI2>2fEsS585}D|NXFissMEjq9J_&Jk{AYRf?susXN`pfFp{QbqG|; zqghB#vskANs?DJFVySHIM;$Q{QOQJ__0LzTTacfCb~wvAG!fAdfN6}AkY-IgiwNqv z>kVFXKmzplr5sbn4hhYVJX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007h zNklu%B6|1T(r~IVjIq4-Kogf9Eklo}K&|5Bc z4X9XE?flaMe;(g4zzMKUHo#EXLoE^kc>Bzz0YDG-`mZ1R_h$f8Mm@s;)Wg+FMQLx;G8Vm810jd(dFgmg=AdF#HD}ld zv>Nun`=EYfIqt#wsRA4+5CJ(9z>`EjRm$1C%sWxVfWeD;(fPz?9u) zm@;}u=zi>(-l)Ir{3I989my*JB9@DOC(FS8NlvP8kq*1btA literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/5/649_3.png b/public/images/pokemon/icons/variant/5/649_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4cdca15d9a972db38d01596cd3649f0a3316756e GIT binary patch literal 739 zcmV<90v!E`P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007R zNklSMnxsiYqA}Ocuww3W690U4H^1w@5?zkPu}k0dWA!K{wzSif~b}$;dwlm`Z9tlvv`Eq%zkeQct zPM@05`n&BnwtJ%hj|^x$zp3?emm)SutMmgqg>)6-NO%!|(#i#GPpy9?5sv|IXm(sf zItEmQkxFLu!fEDcV#SV`?DzGL-W7l=7aU5bPCD*Urw%NBHUgrJA z2WF#w?rpWk2Im;i3Rx_^C7r%O{l#6r)LYC({ano-0C4c?3cg$(=!Ny)J#Rw{urQzI z=daelGl_VN&D9WdYdb{3=Yd{fEM=Cx>w{`?B%fBbZEwFwDw)MJ+k}DvzJ32qC>Q`> zb2X$rsQyqQ9`gp!3b(gk)OIPQuzEEV4CtO$sn&E33L#`FnFYEHd+dGCy0QH4hpkfu zI8q=A(i6aAFI%RH(P-+tQ&kMuyl9$jpqn1ULb{s8Ds<2-2BjN~UNcu76GF&^`84Gx zaeTSFw}4hS(`;*xC)_-&8?k?^8z%2**`__61DqyF*9;MVIu zNAgO6sO4hR$uhQYlH)2|r9-J)nB2lT^aIljsNl9AM1k(-fK$kcc+jd(l?TTme*u83 V+|X0006INklPu)i^xHv1^n7^px9&5?N~w_FaSS(XJDwjaT1EG#sTL6}BDz&{X%$`D z$J+^-=*1<$^G~M}uaAmt?>CqaZ%&o3zNa`YiHYq-&WMfP+dV1U`uP_$#3eza+CfAB z#^j9HXZ3+@zdThA`tE3^`C_h#6D<&15YCSku>~2EGgM9Ds- z>$?uI1p)B(SLyVh0)v;jfBU6XE?Sit_l`61+KUHSw)Y!c%rybXU#^fXCVBO)?{^pv zt1>ehvHZaf`GXzr{LTAE)N2F5>{=3lt)(zqOX0sSIIM9*aw$))UTbpedj`O3UtZ0S zzg)2rno1Dxq7%ubsMng@OFtnl2_m@^N0mdCS2H-#0@<}BjcUj1H+t*`t5po}<>NO1 zjw*)$JbpWvX0x(KrFMIJfZZq0x;`1vVI9PY7Jxy1HmV&j{}xLdv-uV)r9#6ECtBd^ zY0rz?Zf}pp(uVD${~RKs+v~0_C!gtbIz9FaW_}uG?dXY|mD;+!?p_b6NnD$V1zh0= X?OWD7;K2px00000NkvXXu0mjfvmy)@ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/653_3.png b/public/images/pokemon/icons/variant/6/653_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0a1b589e244c23fc67ae18dd273191e2a267628a GIT binary patch literal 586 zcmV-Q0=4~#P)X0006JNkl#B z3{bn5vYWV%t_*GO2CLn2Ia*zabQD5wamsEEt=DiGth;ZNgBlu8D`hunJgt%!0qB9# zV24hEiRJatok69P<==bDp_3r9RO9kghE}1(*tI(YaQY*(Ot(37kSL|BiRE=#g%acW zX@H>YS7xaez*+C^8$lYS8SPlVu5V9K!{x@y&j8d95@d^Iem!i2UB(;`dL0}4_6C4f zp#;G1xhF6OGqdw#Z{G#r>Z>dOp21q7(~OAl>BWNp?&IcbzC6AO5Y*4i&Qm`~7~l*l zRCI}m|MUCTp1Mo#pOdni{IH*~w^LzprGjVW7|&1B*s2CDHnyrH+fL|+4jumbpli^* zoeBVpE1goqX()hX+X2k3JmdVNL8X%i@vI!cfOFo)+WFkYN-68~!LxFlxch-~$+m;H zv1U5;*#N@dlyl?gXj#&Nr Y1HGx$4ZX52CjbBd07*qoM6N<$g1aytjsO4v literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/654_2.png b/public/images/pokemon/icons/variant/6/654_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca0060cab016b34da3efbc293baecab42b7b63a4 GIT binary patch literal 699 zcmV;s0!00ZP)X0007lNklQIn?P(+ua@RmAcD5X$P z$I^f)MUXawZOPCjP+F*zE2IvVU>r)9!a1aOB+*LlC3P|X?R|I0{qFyL-@AjJdg|#v zmJmW+^d6V|E)+tj@zBVHLs|g}Aym6SHgo@`wgH6@%5#e(!_&q+fL0eZSZ;W-E5L07 zN+|=`LL4U+!*h%51>HX$A~!rqZg`UNZm9{(bBnfY09^L7Xk~r96%4?*wz%KNAdn1C zK^z^G0+5;eEYNxn9et)KU;_cb?0@1_yuiCy5N^bXVmiOj5?{Ds(3uE zgb*q{_*k7(PSum44<^>QF4%YHV!K#(qOP^_ZV4xy;>OPmJ72z>-!uhJi?>6q1?*7cy%)aaT90}Pz5 zQLmb3W4lIwsOGEwd>5?la&&a|DcpIFe~cU+i`KLX)JOW z<99dF=bVUzEj)^1E@yGv#|icDpRU8)~>pGFE%>btvlCu h4W6fN!u8Y*{Q@!;FWOIV=BNMw002ovPDHLkV1ftbO6C9n literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/654_3.png b/public/images/pokemon/icons/variant/6/654_3.png new file mode 100644 index 0000000000000000000000000000000000000000..489faa127accda10ac587dddd58edb4a92107884 GIT binary patch literal 697 zcmV;q0!ICbP)X0007jNkl6A3#~cXsD;9Ks52y~mFy<*VxC*(gZb?<&zpInr=EKHk0pdq z-9F=3)Qv(2wL3V~b;wYFLI~9=P?)uUQ_Fxt2xYCzu<0d@djQQYYOwf3x+B0X14=0^ zHNDKh@E+F63_F?rKYm1fB29cEO(iHafLSXuVc7uai?Zo!aH1Iuz_?br^^G$DY%3!^VSLR;xz4#V@wR{x~XP12jhWCigpEhvqDD)SBxi+@W-)tDS z%Rc4DqsHNO-Ghi%3^c&KpS=x0!toofUrjFq2hQsPi3-}1bl^u)o*GGcN^KX_jg-I0fz_2fX72;wcBD1=Ja=1O?;Nn7vQJaoO1FLrTf+;8a6Xv6JaH-B7FNw4FgA z1X4=fFaQUCFZHj-rk6Bx=dz2Tav1rkYlZ<-J>>5>3qWKSRr6S@>gc;z?`Wsq+{hU` fN}Yu3sT2AIIZ`=SN8r_G00000NkvXXu0mjfg(5=v literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/655_2.png b/public/images/pokemon/icons/variant/6/655_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0e99195d0d8290a6ca335419488a6ac382aa1dfe GIT binary patch literal 785 zcmV+s1Md8ZP)X0008mNkl#qA%n4$X1;;GD- zVRj=2(AFMi!LnS}l#+h(&=WzGJEi&eVfH7j!2=i5OL3-`;V`;Y$1egb|bfzso*IGv%{kR4sue;fcjm1d>Mddu@Atl z)LDiGe>wc@Y!|gZujIgkf^N-UIaK4PcCJyY-rE<{+9|m8y%j_)u(WovrJKIIt+QT}$-@f$fems+# zWaQ349aSme<#zkN{$_4w=Nfg6DaFh_Y`(xo!+cd`$G3ut+|aWJdS0no3IFo>PR;(z@Utii-@A~=BjA3)s_ P00000NkvXXu0mjfBD8O0 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/655_3.png b/public/images/pokemon/icons/variant/6/655_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6e340b686169865f040acb7a20554fbb2e61c93f GIT binary patch literal 789 zcmV+w1M2*VP)X0008qNklbpn6@N92lmKl{1N2|FPp#FbLEoCQ#^v|SI$GgGX!w(MA%V&3n%Uz~Ylv{}ey zDC9C&@mZ|Z3G-sbydOK3t~-KNHK?_=+7rv>vi;lB0BmK~0EkA$Dg2G76`!Sbvj6x6 z@_qtcC8OPXbXzsWm8o))JGegvjFo*SI<0&bAGN01lc7?|-bqdYuzuwly+flX9mQt} z&iA;UFXsJ77HUnkr#9nEvl}^p*2(@;wJMQpc##N1JC*voUU)&t*8#v@bb-C-0+H0A zs}E-nZ74xWuN1;oc8%VlQG$IVCSoOD2ia_v#N&rdheJeChZLTEH9qWEy6#H$tU-Y7 z?d=nL*=&|~Z{Gkg9S$-0>n8vQE1RhG??C-c+A~2XQ9amc)|dOE0Bj5#CnB_%E^9TX z5%oG{YKov9>@=54(ExmWm0;J`&DFzit|SHRiDfea3yx{zHZldCG#HJH1C)`|T3hl7 z&m;lZ^>qU<7q~(E%kMHj2P>P#pI36=A%bqhUmVJMX=%yWiyj5fi$8!PIUF_iV^kvt z9!H%xaX!n0*-1`uXZJGzH(x$0JDVDAGg03dXff>xD0}`Vf^Lx3BeNDTBvZp}#!mKv z^F4$X(}q~EZ-nqn(o=QUUH(pOriR;$#w23SIV}BBD!Spb_$+eoKYTLZ%e<}zDYAO* z_KeD(PqJ1@+1$Nlx4wR2E2ZqY2ls5Hlv&q0?#|^cghXYO&pm3j;(z@UY{H2@8pwK} T(DRK@00000NkvXXu0mjfBFSp% literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/690_2.png b/public/images/pokemon/icons/variant/6/690_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d26f19ffeae7fffaea5addab3825d7a7e07a0b0e GIT binary patch literal 611 zcmV-p0-XJcP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005* zNkl_`Av84<4{IdbuEt!o2NS}TnJ30>Fl)czM5itWpD|&x_`w;*eXCu$Y8hW1u7aJHw zUjJ>9e>n@l<>dvLOio`HE^|^?VxWy|2dth|0Ce0Hnz%{qx{GEn8uePSw?IYw2-uq2 zr7}56^{hfF^#yQS=EO@356!V53%p-j)VbAn>&(A;!%lGGl)1z}5ivVUtc7n_eDQLqh+?k-&ihRE>RMgTa|5HKtk9iiLjm-Ty*0GC;*T6&e z>b0W6N791;9Nko7A)RYbM9gw3PqTFgfZw>HHM6O;7tRCx{PjEba(5KyH?BAzYhXVY xM!UQx53KDPCW=h@*X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005q zNklF^1O!uAS&6Nmz{cLjQoo3WScydh zAt1znV4=n!x#EJAFC**U3pFkhJ@10E7mQjy*Il4OTsa(V$Jk|)%58~>=VlJt zEVJeWZV_BLITT2v}W)Nu3UM-(vIl2fmn+AZh zxARa)>m1a3K7g|O!0TFC<(`Ome%ocz)wC5@b{}wKRrJ0vSmj-5SX&iL5NZ0^9XpfQ go<;oVo$74k8$m#9)E#9pTmS$707*qoM6N<$f^R?wr~m)} literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/691_2.png b/public/images/pokemon/icons/variant/6/691_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0e941c2ec90bccdbfd35b7ecd92b2863eb398909 GIT binary patch literal 742 zcmVX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007U zNklDK< zx-BkRA0Z%!wA6x>1|}V?g_J5n%rfJmoavdH+-8!Q6p@})X6DSD-#zyuGleLM_?M$_ z1g5CbD8ApuoyAt2DpAOaSvn4-GWNMCF-PfCNrpkFMXM-Z@F! zlLeaz*b4XQc$)|eV7tA*ROw!vZ&!FMKx0f41VO>Z-7kKObGF+H0J-8)0gW-y}vnx#hd;^@%H^FIG z9=KFMjodppWP0i*07tD;m|f|ai+SQw0|hB7b#kJ3R!xY(5=X650Gh?_g+RSu%5OQ& z1e}~G^6Ph-Z+DjBYj=OF#jx(YAD<5!)xJn$OjN4W2pd%ZN|l;3|3aYdnXcaMjc0L# zf8JeVeWT9nFCP;3>WA6?E&}v+{J2Bjj!(1LjqjISCr}!3#aI6Y0P7odfEXAys)>p~ zZ-tC8QMv6UaIVS^te|d4ZhrOTb0SaU^qjJxa?RCoohRo~Z8Q4Vp42vE(2Ii&^mcr} zy{HCO&~B_>LprZt6s zYwXBFoCa(Imgg1$c>exD->pZ(Am<9Ykove(sj)n_7z15-gXZDbK0EXJc>2G;i!USo Y0wU!K<9VoiS^xk507*qoM6N<$f`B7Ur~m)} literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/691_3.png b/public/images/pokemon/icons/variant/6/691_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6c1f254636ebc8867d85471b4831ab60e9e8969e GIT binary patch literal 752 zcmVX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0007e zNklXJd0r24jwtVF=JEwcT zYi7aD1neK|<8*om3}7=+Cw}LVmv2{iEH|=OxKKbr#p}BR zSUTgwje_+L_5pA@y^90FpduQmr&CaXud+L*d-I)Q4NO&AG?o@wX`BFO>rHSP76mR8 zP$N^-7Ppc&061(P(^y&@T8mNQLIVXUJ9R6yK&sjT@W2v>?PCCbT>p74Q1?suEXOke zw^9qNG*0-Iz3+YZr2O53{d%+Ho$r>4Bay}!*U9DSmWlv4xqM*$xj=nqx_Z|h-17$f z>a3Amukq~DP2aWp$LxO>0k$h;lB-z&+Lf}`Q*~}2PzDK#jn8)hNUqlaJYcs}^i>3g zD`bpuyH^uFoP4%#ZfphhKyq=d{K}W7ae7VJQ28$C#&w>Y3)N=yvAw8m$hZdw8`!Rt z2V(>@^|2MS2OBkz&Kp&Qpz-XOc#{MTDhM4i?GImXkX+3UZ4#-x&eNMB=%zw9YB-xp zJG!MJA71|8k?rjbwdxTT@;gL-2)xjgTGe*|Fd_S>=J>6r+^PW?nJ zD7|Uy)*<0^dV$r~*r}&D4A=&27mfgUn*B1e^=KGGT)`luK6Y|>whKodFeq=_I-J{U iXH+jw|Mz?GMZ{m(8Vuu`4S9tC0000X00001b5ch_0Itp) z=>Px$I!Q!9R9J=Wm7z|=KoCG57y1RQsN7&GaQy;OceNM{4uNTcXi!LUs)D2jd%<9^ zJwwjm@n=Y71^t4GA}-tX3cc>_f+73Nc6Ua+%+5~1VzF2(7Rx?_5UmiR9otWxPjPH2 zx4u3FAbO+)=J?(DV$naOrq6;Lpc?6X00001b5ch_0Itp) z=>Px$NJ&INR9J=Wl`%`hKoo$#N*0HXDS-|>+zag@`UA`?$>Jiox+?tvorAl7z_CRf z6*nhA5W!JQp@q;a1=rGZC>PtbX+o|#$bHM@-g|H#?;aO07z_r3!LSJ-gcL%^tbJZQ z4@+0>`SuWi{bMA+;yw(+imIDVtF+q(z=H%(xjYIL6%hoO%sNYX*Yf~yoEEliC-FFr ziK5p+lBETO5Ylm40Nh>gCUW&g4S>;L{BuaJ!^PWPA_x4g;9}>}VoI*ko5!UeB$B6( zRRD&=4=n4ekf7EKPG+4Iu`Hw?5Z%nL+_L^)289sv{pD#%F5R^>uICjNQ|xR*t_Wr1 zproMU;M1&07*qoM6N<$f@f*3h5!Hn literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/789_2.png b/public/images/pokemon/icons/variant/7/789_2.png new file mode 100644 index 0000000000000000000000000000000000000000..40723d16b0122c68f3250fb68e27ad4c18600866 GIT binary patch literal 545 zcmV++0^a?JP)X0005#Nklk3!}Yx0U6=ZvT@u^}g!BDzete$ieeQsmn3(@fLU#iZNxl|BXz$l$MrSb* z$zq|6Vxf&rIq8v&im@ZWa@AS}hsKK9ZKUS|xW>2M?h-A0hRdrn1+V;!`F&kEpxk{g7?Mu!r z#&pU_WKAbh#X{S2$PSGrfc((=hY}3T5dZdJnw z^(5icvH;+umB0ICvu00SbBZr-oXCwj?V$xLyA}*vs=D*TlKvXwgE4L!(r(nu%ihyi z>->*IAw)u_M`{ZSAre`$hs@cMCwhh*Oc$6p2|yuA0m>CmZhG- j)Ak7@@;8*2m?`lIga`QwJ9Ity00000NkvXXu0mjf@Qnkz literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/789_3.png b/public/images/pokemon/icons/variant/7/789_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b7010acfb66f35a90d5ad7860438fbf253bb13f3 GIT binary patch literal 571 zcmV-B0>u4^P)X00064Nklrmb|clGS$E~!zt4;;L_@AKY$?|GjeFBB9M{NF5O-5?^` zjFnQE_g^U@qP6F1?fJSEDjgL&cZ|5vXkV=BBISRD}jrX8Y-n0Xx6n0IGupr!HHcnf?h4Tyd8ex`ROf0&`C-3SCULb zbS+diQEH*my>i1ok8YL{J!x#SBw6l15E1Qk0sx-uwE$@J&j6@~N7ioGtXofsh#m|E zHjdX@rPz8B6Cd%PsBCP4vqqzT787Q0Isr868sOvRONb;{uieE>d4Dc}BBF^b?G5r`mba2QP18zyf;6A5bwcT zJh1c2-=5j=wEcD_&00kC_UG#Wyt(uJ-@9qU_^LH;9R&rm<`)c7_Ss|tRPq1-002ov JPDHLkV1i6R2HyYx literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/790_2.png b/public/images/pokemon/icons/variant/7/790_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ba96c45c208665c4699ff9216bfbf0f58dec7c GIT binary patch literal 520 zcmV+j0{8uiP)X0005cNkli>v{I1%xnIRLm}h=`9S8@}7~;30{K@Ah26 z5D`zNGjeS-*#rlv!U-4^P6fY4y~rhp=gTe1`NYxnLo^NnnM`MHr{XGcs#{PF1p08lMv0RV-W9ZswR z?)cTcKLG^rs~b)LC!B7Wn6B3F8nfpiDd!W=4f8ABZ@oV}%V*s%C0MnX#b7wbe7OYx z&yZ&WGRCxeF6CM;)%rH~biJQSj4`d(YM@%oqA=62s90&e-djIas`XK-^#NEzq#Nc%lkCgELo_a3>9(8F zDOI8mof0wkT8*{{`5b1ZoIw#1teg_O+7;U40k2X{@0_T~VKDcu)zSA@_X%0000< KMNUMnLSTZH0_#2i literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/790_3.png b/public/images/pokemon/icons/variant/7/790_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c46edca22e31dba3f150abb568afb1e5751f610b GIT binary patch literal 535 zcmV+y0_gpTP)X0005rNkl2#L6ox-rOTY+Z;>J}rBNp6jP9mpG=L@7WzQXpwMaT(qghcE?Qn}F>S8g0E2qqzs zQka>Hq!2V?g=Im1C5>e3= zE8N}j835;y17x1hXxInf>g9x)AeT~h4h6J!(1cSkndcJ+pNM zCG&h8_0M0woomx70wF|Rb}LGg!o3L{r3u})Cv-VHK42TWwS)8BKwn?pTvwh?dmExO z(eIk&;G)`qs!IV4u$+tw@2GXC#&16R7C`vA_{#ugxHt%%wjk?>N5ejG5LV)S{_|H~ ztD20`geXmz?*=T^TL5dw+JI8Z&iUg*W&L9HT5vB8LJd}yg0zwKMyhIYH0*PEb6u%J zQ>VB0EGOeaW5GU!x*csDv6QkiJ6aK?3Cqct)7yIu1A9j=RX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0009~ zNkll@@GbmJaFgUnG z3KoLcG|&pQlh#F~gn%GOEmUxmn$RsE8497aP_Bc0m)|A1{FfH`rc3Vb-RIuF@4E)m zH2IgU;lBk`N?DE*i9|!Serg635P^{2pUx5hba$$PfJ!N|9Po+(b;n96QwIS!?Hc4{ zZW8y8Wnzs>j19Z<0OdX>_^JVQ#{h|l0YI#AiM76Vw!HJS%%rl{`{It#>-?Hz_VA+M z3)Bqgp9u19`~m>4CknvchbOjc&v%mCf1fN02yk}Wb$x(dPn0e1JOC{-DIRaO1F+H> zv%%>N16TDbkfCYA@kJ^E)QevLzdgTcg9~pgTIZB6o&|~+q|M(qDqMx)dPYWM1a^_Qfd$R}xSl zMKSh$yX=gn0T_6FgPyZ=QK0jkBpm}T+j)s(srgqC;DgaCy$#=c%D!)xhml7`@6k;l zb;a>|q9qliY(RmODC#E40r{zv(V|Dt>xmMYHs}~|6>W^F07aHM23$5UeasXBmB@iz zuj>x@ax2DKUpt{`!=@YpDJK7kqJ*Xm0_$-LPEuZMnWz|0ha4MrJ1UC~>z@d+(i#IG zupYmvxj$thsje%aK+62mA!Sel*07e@r-SIF0?z7EHJ}YNV&L^eX&PG2gLGP2l~U$u z*B}7Hd#mjIGV8zc>yQWiE&}UunueD7coYG$TeiN6$?By~g1RyFN2zAVXGr#YefHqBW)1>0x@Ub)9bi-S6UD%T=9nYt6~( o3aF>Pk~%A9*AhWFt`!d8Hy)M4<6DdsQUCw|07*qoM6N<$f@sIG6aWAK literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/791_3.png b/public/images/pokemon/icons/variant/7/791_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6df5930b0ef721863fee5175fabc52844eb9fa8f GIT binary patch literal 986 zcmV<0110>4P)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT000AJ zNkl2N1qZPX zF8%>ROtcNf4;&pTQYwcaU0M$>SUsg!1uH^Y?Kyo}QAo#igb;SS)l?0%F`ZlATyU0%*f?XA>&Pnfd$Py~LhU%H7#| z0w55wCO|!Ax}v*DI~D*La~R{oI`P+&jI_r|I~G$a25h)oKH|pVr)2gYF9A_Xxe1jF zjMs{QVzq=ylFg+^=fmEbSaJQ?bq`LrD&Qr|!t#8el^O=Twc5!@%g+K-KJ2?rI~F7D zao#L_!u0CbX7{2x&ZY|)4{fG-v_|jk9VF$(~d>P9OkU?phS<=H^khE zSvDD}!Bqv^*?NMx6_c^W&s^&{P_joLB_@sV4!WYdeS7qbheBBad`VJw7VD5=Ie>xa z5k{>H{o!A}xD+5=q+S-wj6F^@xT=5xDIMd{(sO3NeE{H4>t61Dbt(caEYH*3*5g|b zs+A1^KKa!Fz*zh&kCvV@5Is`yj4lGHcbsf4RkefE3@DIdMO~ygL#ZpJwCEPh=2G-V z47%HTDker z2PZDCG)!z7P=~zJu|`5Ay$(_gCePB2h1E9%z}$*SyZg}_&&1VD1r$iBUpk}|YQQVj zQu}leJyamLyVMP+gGzrMv~wkpK|`xj%C#p?0?=~$CHc26nm_XEkW$14?HseQ7GPt_ z)<-cJz4S`Z)FdefCw;ouUHY1gXHb{{CDCdb^&1A1mw|t5*K4K}WZ3AvqNCPd(S}?c z^fEox)X>Af`(Iov#a*Y?SPPP-0_v{cOq^AcKVm_-ZWIpSH(Nc(<0mNd6aWAK07*qo IM6N<$f&^#7h5!Hn literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/792_2.png b/public/images/pokemon/icons/variant/7/792_2.png new file mode 100644 index 0000000000000000000000000000000000000000..21c69bac01ff9239a3d7f0d214b67d6cccfd5dcf GIT binary patch literal 824 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600M(aL_t(oh3(frNE=Zc!11r3 z6)GKSsBtK!uav|%ICN>i1aT@Yw1X&E2xN0{l9(=~lXR&Sr!LuqKnoU!7L-mBjF72A zhMI^pRU8u2&_b{f3|xos9`BMCe0Tl>`Ix`?u+}18`k&mRmdmShiPWJ^k*{bVxW$b5ldv44GDrHU2XLT zCdb)dS!H|cn5Ary<%O_%W`Z;Z0yZQ-y>!U-)^XcA!I3Vy`}=HVQ#11brw?pJZsa~w z-pri%U2i1J*ziLmoH4K!*?oNsfcozZl~r#ftl(2K^R_ysI7dK<1V~3cbociWOJr;a z9iNQ*f#zBW=DUjHbx;UlW#@uGbFw_TeT(&jih3?#M|+*;zmo_dtU$S{W~KxJtRGZV zdA)SV(OxG#zJ}w)+R+$HM?Fk0?x-wHFYXW>3;>YI7cL&CcP+qdNB~gzb3z^k=*{-ojzJx#11jYPKX#k#EM<$f%<8~;>CiZn#=vycqds2ndeHA*MehRe zBK56_ofx9W*I;^aM`hJCi;jUZ6Z+vn$0p-`1&bvzwyn+t>G(9$`T==(l^N5!x!`TW zvvWb?Za&qYCVhs>?$tBhn*9p{j;5*v%2kqa|K$Qoqz=+C{~8|W3e-bl-L!Fae%#M0 Z{s74TSQEP)X00004XF*Lt006O% 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600M_eL_t(oh3(frNE=Zc!11pV z2!hEH3Pl%R3Uw$F3P$WCNIN-LgcQ4Eut*UkODd%z1fkfWbrGQy@rEpw3ZWgGS_)1L zMi7w>7BnqIvDgeI78{UW2YHWoNrk*S|AGBYckkZ4`|x{zug%6w>87N^xkyQ>$Wd{1L0FZuP@bdRW6Y_)Gg98 z@YAEby0Dt#H3M~=jF^?6tGS={rq-(Z zqv=K_;`=Obud}!{$Na#QdS-$&1_BNwKz6Ob^7eYwJMB%abhd>YWtp*hfRhJSBB#p- ze0=V&`Q7f3GQ<7`Bb+g?68Snj48Z-(X_eLPk+Onk#_An)OmVJ&5(zLEUZS%tM9fM! z5IQ~?O#w%1A(-zfuGc{!ggx840US-1K=3A|;);4MVZMO>>~|6&gk3E3sF^8&0HxxJ zD$lMJ@CE!FmddUdYgc1%FucTMZd_$)GB-|3=r#af3m?uOsCO+uS93oA-+upe0Ap5y zWHf~@;HSN%kq7Uto$eUaaXR4p-VQ&0?E$d3HRs5z4$Q6|Q<7mDxWx;LK(R#X=9sXzF4CB~l0JnB#`WnF95YSTAi{ do*(zqioZ#M>(od_HuC@g002ovPDHLkV1mFYdw>7{ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/800-dawn-wings_2.png b/public/images/pokemon/icons/variant/7/800-dawn-wings_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b0c4d306f03ce50567d945979c82ca8fa6a40580 GIT binary patch literal 1216 zcmV;x1V8(UP)X000DsNklzI9LGOXClI?4BDiG*4~YkbKo3=Rg%B%-Qs|*E;Hig@*0zz*Jt&ldr?RJoQqV(L ziFLOP9=aF7y4O~*k$^644=n+usE0tM3I>d8Ad%NY@?K{qGx>w|3&TuaUf%n@@9+1% z?>Ete5ZJ-*_ZvUTPMU4!TfouLk!`zfZLkmn5ZR4&0D|F&;D01(hc_JBg}fv=fZDUY zZFPx{-~OJF(Q#AT*s-SW z$-GNV-iTy0JwvWiVZTshv9Ih%&X!;eBAIuwGBBwc*5V5Ube*~W33f7@M29YU_FI`j zuZNCeiGZ$?t5j5} zoCs<)>FW^Cb=KkweDlr^9G71*m-&caf_v(_+eRZF)E4{7#12*g_%_^0u2M1eee&lM z-v8nu?`4MpREQ;q7@%hDoT5h1ojI> zrrve&!Czylv-CEgE+wF&ggH3oE@FE_5#vlEV9 zB$RRzTRuS`U*g*11|U&zv*f*~t2gVa8M{>&AfOtyfUeU!mF4eeK>+nE6_o1z_{Zmp zTqvCa;QrxjYD7db@5163nz3N94RM2tMgz1hpLtPogBZgr$w`FLDYoO&l$W0~|7aF! z$D-jRk(YVG78SI6Co$EFMuNFYg=l)lL=K?5{9Lu|WHuQY9apuXlPHbOVo6HKssnSS zqAm87m3s0n$%WD>Lg|z`yYC;qmSm8du2JDC;Z#wJM4^i%?*+-ci{YMb_Rh|gLdKkt z`FQPdvtKBx_Go&>R9G0u2+JLCPAf;7=_r;|r2;VA(@jUQy6cj8m#SX2d_q+w0bN(u zT6{sB6g!zsqm{@(TY7bH^oCreLhRmMR!&aIot)O$NI=(Bf^YeRNEEslc6a{Q;q1I> z#_8(E*ug3cOtRQlZtK<6iJ-RS6JoG%ML^dX?&)U5K++Im(?q+aD;~Hz**iN|Z8FTk za0L3QZ;S1aY_^L9K%&rP%{|j@UM{`G%E>8%UXKd3jKF8^f2_Z;{g9mOX000DYNklmWV8Hh`}-z6{1#j9dzHiUcch8H|2YvmD_rG#5zL;w-I9X7s4h!<+IGCYyQszb2JJ-XF4a zh>bbCFhS5MSljH5hWiOQ6KaTVPYa_+~y-FP)X%U zuWi%X-fFwT4g?rvj07{ot(kn?q%ctNF+YB?=$Lqpbuj74avaP^!P%W{Vt$o9?EJk^m@kU+EB;7IGR=iPLbt+RAo)j=a-ewDL3+ho4@ zk>cJFH@`mS+mC*d*WNd#)j_2?EO7U{2*4kk_i1(;X64)8@p|_GU%mbuK)P7K$< z6CrUN=_P3UYMNd{Nv~}K&%MxwZ>gVKtkJO~2oN{F97j_~21i&9zCHefO&7+X-_ zNbAUgjh-mhGUwKUNmbKBzdYjJ*#PvmXy_zjGr`uyc4NPRAdKH$%RC(qwV9{q zCgoAX0)Ca$P zO+GLJKqQ@hK6L@p;8}i!@1{WL9>Ks;>ZDSXV-(Ol|^oon(E`C+XRx zIxHATx%zZ)B-rdWXhc?_{Svi1Sw>=hRR(z5SJOJzaT>l=d3_62l7#VePB3dFITMb< zLfcp4&8ug`{3?yes;TH!hXva??#-)bV{*N>Qnuk;lJQm@7EDFi4JKj`CKIJ|9k<4w zk(l|VPcK3VhJ+^--TxYRGSpk&L@~O36nI0%Cy{?3$wPSu&TGT?u zw%$3x)`CV@Yod{u)zXn(LR!&K%qL!G9?T>-3l2Y-z(omhgMR=(!xItjOivsD0000< KMNUMnLSTZ?EIW$; literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/800-dusk-mane_2.png b/public/images/pokemon/icons/variant/7/800-dusk-mane_2.png new file mode 100644 index 0000000000000000000000000000000000000000..571cf4736e312ea64fbe4008da7d8d1aedd40a8b GIT binary patch literal 1127 zcmV-t1ep7YP)X000CoNklh{UftgIUH`y6p za2PBiH=K$rn90DcVz=I;t|GIM&C~@wRa0HvJ&uDPn(3Bc-HBJkQhj zVHjrm00}s@&SQ#G1ZaSyAdEhOcA5I*oqm?7FbLL~wdxDPI9mkHWs1uCuoM+TI~ zCn1}ib6RmsD~{RhoU_?EXX4}QA{ac+%fPAe+wPJHnt{v(?1eW27ruX?LB>j<22*{t zii00H+L&cf0@9BhT5$}(tn1Q@j%dYkYMcq#k5dj%Z)U7sMr`d?0a#mZ0F9(=dF@Nr zBbZ*K8UK@k`|!QcdY^Z`2GDT9^dimZh}kyOC+||5^4<`?x%s5;*OnWs-%8eRrEVv{ zP<`1Xm|moQw$JKi1pT!ogLYX%DKHzZK6z(vG+?j?GorvIKEBqlwThF1YwY=e&*yJ{ z*W+pxhh_x+&O8&V|LJ}eVk=9eB$H+gk=yPP^|O7(N}&d{;Z#@^oC&6Mr%E%r&lmGF zqa)qUgEKQgkq49YC+OumkFioX5N@+`4#tK7GH}2^xV+R<gXdgwU>@FO$d^iX6*P;ysaQbJ&%nu?1ru2Gn_l9*4U}keD zICVTFd9GL#qzSgMaxm0}7z!|GmkXhkQDxW$15zGTVFk4J9$M690M#FU-rY=IoqaN=S)mNodVMJ{v$|2Tw%lOnseoj?$zJJY_C4(FPfD442_fuD%Dt+5TOxJIy{deL zC$BnEzQWTwLJ0YrJ0q_;QeJhW6hcTLM4`Q+YiJLugKTk{|9^Y_)2b@eZl|$002ovPDHLkV1mx%9y9;| literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/7/800-dusk-mane_3.png b/public/images/pokemon/icons/variant/7/800-dusk-mane_3.png new file mode 100644 index 0000000000000000000000000000000000000000..96c309e8b155ede053032891d183a8398bd6f66c GIT binary patch literal 1148 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 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/4077_2.png b/public/images/pokemon/icons/variant/8/4077_2.png new file mode 100644 index 0000000000000000000000000000000000000000..628a55fadc82c19e0dc3806881a3cc740fbcf20a GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iTn!8i{y+5j-{JFgrmmz~+8Jk!o*VxI-P58cpD_)a2~_nv<5C5X z;w}mD3;quW3|{_>pMb)g1s;*b3=DjSL74G){)!Z!;15q1#}Etuvy*NM9Wvl>;oPqF z^FM!?rsPo{nc9+ChLeekxtae~)H7xZ)xKI&nswyN`crA2L`)ML(|RwItFOFtf0jz+ z?4UoZ&9v7Er-km#-gvZ--$?AwmAlP8?>JV?+^{qLRMYEbp}h5`-iz`WwK$xmyG7pd z9#K57PKhJ0gZG~IQr5m_)4#7fcyyhTdV$cnb*J6mpKLAt7%4dO!Lh}RJXtl2j!P7a zOs)F(3U;uGJMKPezKKs;Vo6s2N#^gzgSFD7HJA?H2swG;K}5)&jRG$vxP+Wv-v}sm z=`&9+s7=qyT`G}ryKLoNmfN+vuPoe>Ki%qT->>?DbL_ji)Evb))y@IKfWgz%&t;uc GLK6Ud@~grC literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/4077_3.png b/public/images/pokemon/icons/variant/8/4077_3.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7f3dd8c3ec1be726bc74d5506cabc638e072ae GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`6$5-iTn!8i{@YLTu&X&E*K8)2rlFDcf9Bml_p~!#sDRJa=@ZR%Y%G&pA`uBAQkFHZvFAzGn?zH>+ldYv6BL!zZIJTIPC##0hafxD) zsZ}3e!45WY$K6NGH}PppEXnFW$^89zuvWUX2GijiAtz5fhzQxUQQ)Nnmyq-88v&&* zedg%}wdr}eOC>UHm#y5(a=Ui-m4#dKr(0d^`&D0Xj(t~`nxhz}+BsktFnGH9xvXNn{1`RRVlMTn%+R|KD7CW=g^T4j)Oiv_SW?o*VyXM!KAF)-Vm589n(7P~l&# zcWZzYPf3tp@P7ng5W0Wv98jFIz$3Dlfr0NZ2s0kfUy%Z|Sjf}GF~q|E=%j-}hZQ(n z1O+bs`TxIcqv0`?xi6Pqwl$HiTyxCn_Vizd9vAZRtwcM5ylgIR&D_T_EyCrSYLoTx zH~d@zGqm%*k!+v)#ALNn{1`RRVlMTn!8i{u_m!k@NAet1**H3v^HWKlAQPep?NVv?|+~XVT6974EGU zuLDv%B|(0{{}F&e=>EBLKyl6jkH}&M2EM}}%y>M1MGDYjAx{^_5DWjKlMV_UR^V_E z6u9{3|NpX$hR0OqzFd0Q)zA|X< zd&hi&L9N5%IIC=QU;6r)+a4Uru88<(eIq-UedWUw1>cW!gsfd#CiMNrW4V8l7FsX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005P zNklv*j0%txO88KCQU017DU zE`Q_qfI9ACB?Z9X`c!WR2;jUZZY)dBnpH zovNo=9xR3frSVXP*5-%w^0WrvYf1OTzVa^Gq3=lka|q-qVadIFnI(( z(a$rrHwwU5dY;1M5!tl~g)CQY0O)UPr<|;Pe+NH9>IteomHWDa$@~~l2odJeo1CAW zFg}u@=;s+9$*AW=KTlBgBQP*qBCI+HFxxiu4kyt;)i>%|EI=KaOK++=TUu0S{m*2I zjAdb!$ZTmb0@3$H(|5A002ovPDHLk FV1n*V?_U4_ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/8/829_3.png b/public/images/pokemon/icons/variant/8/829_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5fcba4d0bc9dbdf8cdbf42506e2c1aa04a3a78d8 GIT binary patch literal 576 zcmV-G0>AxX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005Y zNkl`=wuLVP}bP1$V=^{857Z-22r9+0S7S3ITc9qh> zrAs<=sNm=%5^V#Dv<)GUdV>gsq>>CSdf}Yjm-qZL_`cUPg#4!W;XRHI&->o-B*HLc zkdqhzEi(ezX1IYuh!DW{{e)c0ItCkH0Te=n-`@EE%)AxIwXEYp8Ub~j>p6T{FGuzV z2IzVYfC9?8(L4BmKpj`!Uje{*xfbc7>p8I@9|XL4wB`L3u6Cc@dd~G6{$!GL|L$2M zjezpr-F5#YPR15#e8e|VGCEEN3L!!hs5Q{_94_bb{QUBjiKmkQTy)PFOFvTUAgGZZ ze`VCo2On`VIj!nWyF;V#k)`)P_`Lj_Y_=Fd0tyOd$8FR>i41}ohu^o=UN&0_YP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006< zNkl)xkm`V2X4LLO`hmf{Rnl(LvH= zbC6&#QxU|aLn8zNE`o$23MwQOV#vi7x&%sQ#m1q$$D4o3-Q{YLKGVH-@4ffA-+OTH z>*#j79OpPrfEHsJs3^+F0W?i>SQ;D)KmmL6>FdZo^Rv@{HK-||q9|P%wzb>Aa|-;E zuA%+sXQxdg4Fmgead!xS_5Io(?=y=u1nkEdjTxk2;JNP;f2~&B9pe6%3gPoEy}iC) zvll3E;=#FSnq*NO+IMTW!}Ckm^cRuAMv;bqVtRAYG)s#SHa1H=$XqlHFcjX{>)@ZX z85s4(NEX!rpnxqcMgRuja%=@Yys6TtYdS<=Y_R_q4?yzu?var74DL{6XTey}*VkWT`TzGyR0Afw(GAK$$KK&@6NCvq(0ldKkB zbG5wFgZ#X`O{1>qNTWE@z+_P+?hc_=E5KoOWUxP=0QBIF1SpWM)&ZCEPq{sJ1vvZ% z$K4@<&z|rh@j&l;_ui_GG=nn@jGdmMRBz(UqyU&Xa~43yMFKub^(NQn?pVT^0`?>2 zL;^klO7$k$+Itd_FmS}nErA1g`)!9C7rgp4x&87->)$L`q~jGn3-yqcs4WnH23p_V@wYg)9J`@Y?v$o<%}C8 i=l|aq+np1j)%*s*l&jS5Ek>&V0000X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0006^ zNkl;Jh$=O<&9MO#urKS`rhNv-1AslKC7_}x6&bd-bI29< zWjvj24f_v{2P`8^18Z@8!4LpjnbfJ*Sw)%x*5b^@3eq(2SGnu2qtzD-@gbpc{pMAp z-pZt$1qz&aus^J_ozxok-P<|jc0@H^LNjJE_$H1#D_|9-s~`$5CMWW(3h1KOa zKpm_ZP<)dcZ{Il&1eo}GgZVe3^r(NPx)v=f!hX52dQ}n1R zyP8IPCe6$JS5?T3Z#sqant?QnvkctTG`s^L3Y#at5$`~#3hW)7JgFtznE(aypwz)q zbb)&h?ilUffe=scKjiW2XGU9ZbjCnh!C3~n+k+IdIhLXeRp$h*JJ3%to8yxInk}3q zU@cNkcc34DVm8O;_4kZT4*_Sq+!8o|ANlWe`Ff3Wa(%F$`8NwzdGzEFlaJkd nKsl{O$@%~H#ZKn}Xg9wBu}-hl+A`RV00000NkvXXu0mjfJBc|* literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/9/932_2.png b/public/images/pokemon/icons/variant/9/932_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0e2583b5a5f9685e932d3159f21910dad2d9f0 GIT binary patch literal 604 zcmV-i0;BzjP)X00001b5ch_0Itp) z=>Px%7D+@wR9J=WmOn@vQ5?s=DYc`6brO#75_)qpNrRBdF709jrQjmyq9sc~Ba{q5 zFdB-Qst5`hoK7hj3URQDP}5|(t>}5&aXy+UW^;ZH@{ZhHmiMkwq4$9Y_wF6{KKy>a z_XmiGh=_>zKOuxLLJ0fU9(^H%Ftc1|?01_zIniD@-md4jr6r&L4WZtCDwRU=-Rr=2 zXA8R+-&S%h^sjN*$6BS zN;{ymgY@Xbd&@CArBKM{9)A^cF)sIIW5qN6X=x3Omf=crGGl2JOBG>BsT#B#12wG* zAecVOF4{}krt36^iqF)=-hL|k>F3IK(C4k9TQ-Um56TE}+-o>POf{xXA_R(0iS zT2)vM2(b@tyqQCC)qCb1-wj~KC%LRuq3b#T2+IK>Qp}&v7Ip)d19S5P0Pyz5mb6$X q!Cw5b05HC{7+UO6cygE12mtrTq71bE@ij{T0000Nn{1`RRVlMTon}+r%ai;c;)8e;^Ls7pqNboO&9VH{$DlgZ`bMB@5&Mm02TVn z+A;zuo{}KH;Qt7~AawuSIiNUafk$L90|Vbd5N6ylG5al0aE+&nV~B7mOFP_ zG;C2&yUaN$Y>DHtfEN#6_jKKHoU-bTV(8H;K~gD!whmt;be4vdRKHwc=%~Ord$QcB zj=mYWx$KJV&dW<*%Q;#yk`H_K#ILUFWHSrqgktyBR!P{an^LB{Ts5U*?R@ literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/9/933_2.png b/public/images/pokemon/icons/variant/9/933_2.png new file mode 100644 index 0000000000000000000000000000000000000000..55a0fb6c895578f92a8e210bf4a60ecd25b64268 GIT binary patch literal 438 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`)dPG&Ton}+A3c5h|NsA>prAY5+x}mBcJ#!}+o=;5uiRYP-2c-~|7TS@ zQ0<-j93O!cZ%L3}FiV0!&pmAASbvGnz*}_w9w`rpZSr5)?S-=5pR+pOnW3rrF!+guh-1-G zjWd1=_xg5Pq`ojHP+9JHd>7BsJtF-HYpvP#gv2J_dw%g^)>;Pps|EdK+^06}s*PxB z{P2yT>A@~NS)Z-d0U`zQ#feP|GgRaq^!6OsomkYyK4IFIlB9#WMvu>2QeZz(a7_5J zSYul6OPP=Pt97Iot#1D5AGo(EGC|BarD2)XDGLYvtV{(PFK_$etvi}@T)s#<=Lfxf zXBNBd;=_%Nn{1`)dPG&Ton}+n=a%Z{J$zFC}_%*sf$-`p7pn@xVSiGQ-JdX)3SsEr)R$d zsudMjW(%ZvOM?7@|04kg+ZRf0KnczQkH}&M2EKzJ%(!D>_FJIfe@_?35DWjelezg0 zEATiA&*{1F?cejchpimzFYy_8i_YI8<>9bR{wuq^P}ci%R_8l2G*ur4Kd}&TELy5@ z#&6+X-%g9v7X}3?%N>vJ;#s;!q(5P;HQSz$*yMZ9FJ8=A%V2-Cpudd!)TUjv5lxLB zzA-dC*rg}yv$Z-vq#(XHv1wt3ioAo~o&&oRi`v*HO#4!jbWqpm@tI2s>?aD2311d# zOzV9q^D%$5j`X6{%|HDE_clc)h&iV;EVDXg;h>+DsbJ&fZC|`~N0W}r7is7GpqKB= zVz*sNn{1`RRVlMTon}+|6hA{J9Xmr=<1-Lphr*N-s#@<|NsA^CvN_<)Bjo34pg}G z@~VqKil-#VFBm8V0}Mj<&z%E`a~60+7BevL9ROj*tZSW|K#NU1T^vI!{Ch8RPij%% zVY$E}l-U0Je);ZZKKZ$GmwGu?s!0Uix}|cf(r~+Ui0?~lmkka4j?bl)ETt3OZog$} zp-|?fv4|(*>F^cPCPzsYL_XyS-5grJy}2OzDc9O*K|T6&AI@8-uu$re zVeyi_C&~ZbuoN=X#r<@>@pR7LrWww2P5leb+By12#m(~WDeQYw`;V<#jO~fL%5Rp3 zK@M?$II~xMwKs^2UAXtIwAX#Z3Bqg2I~bc>*FI)+O8jG3|Bdl%q}AtBAB48&1>9j2 zR(W;CFy`Yc{|WPXzNTIDZog4v{bU*Ik!1&@CHxBb%wH8d?qLl-9#P2F6U~1?Ab`K< zU9{7c2YereCF-*dStQpdC0M7N(2j1e(7E(R;C`FC$)O!AGN04!%^zh8)Ml^!%Vbp~ W_f-GPxdLFQGI+ZBxvXNn{1`RRVlMTon}+7q8r0TwEL#8RO#Y(sUtz%9N=G|F3eMU|N=N;PmWwK!yIy zq4hwDrzFTP_&)+L2;Dz-4k*r9;1OBOz`%D9gc)~C%zg{B*woX-F~q{Z_cHgS76l%b z3oJs3?Z5Ar?{4OkpF4M{mt&=xMBuGkDz_>Pw@ZikzO;7P(7^BbTw2LeI??U+Tc$>i z-rV>DY@!zmWnLPKcru<2UomZRlw?8VQ=ZVxq2=3~3!H$qmNYFEbpGezBjf1*t*5op17<0W_cLo z5ch{Od(~HagUHy0d+$nn-8Y;dyr#T^vB`DqV@9XMKZf<+7|%vpeLnR;XnS739Y$f5 zS7!`kKECpwFrVjZ+C}g78%5Snma!gLc0gLfuYk||Rk7n9*6`yIg={_1{1*fQ_>0~} zJ6(Ce_fc4)KI@Q0a(z;Qb;=3t==KVoOK$}3x4D}f+QB08Io;m;QMN#B_S(NpRz-48 U_0OCu0EQ}qr>mdKI;Vst0J&tx4FCWD literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/9/948_2.png b/public/images/pokemon/icons/variant/9/948_2.png new file mode 100644 index 0000000000000000000000000000000000000000..410f808a465bdaa8e776ce3d299f2493ec0edf96 GIT binary patch literal 539 zcmV+$0_6RPP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0004| zNklYU6vy#z(M6C>wRCVfi-T4&b#QVK6|}oPfuLw{cNA0*#EQ?LyL1up z0qj(?u6IzOZ8{ajMTtXuLsHwp-rJ^Ne^YW2!iRHi{>41cW0(^g0Sz+(nq~wvjWwW% zgf66%irKiXF;K%&)0X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT00057 zNkl;k?lcAa+wKX356^R#KZb4FbaIR?P%&MgYPvwx zXafo%JU22;)6j8WWuSy@_6#vQ5d&apc#&o?2dG1pfI&9xPQGU-n|CKp}*EG#IC5wV0iV@lbzdG(O;q`*Wb|Tp}8wX0@Dp`?|dz z6d4Ez-ZuxpRQ?n(oyNSr0N{9T!2yoO2Pjn=fsjgj5WsyRD&X6(HDqSzjdzl{V2cTxPNJJy7zSIN5v;y0a>6I)q zyN6mnxwLf^(&I%NP(F45o*EWseQ%hiX~?=NQY+An5klBkTWbJHX00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005s zNkl%4J$Ir&e(3#+>ZD1=n z$MvO(7E%i+a04$B0Bpt+&A6Kfn49Sx@N@Bym1?kQPL;jFbB)QVAuXgf&|MU6VBxvu z81D+uU9rcnM*vOxP=)L`P?fdcfC35F%RM@|!Adnq&fIPb*%q+$bPB-m(j)8PXiN7A zsJvg>L250r3Ysk!dB2>tuN8Cdaezo{tusIw`W9VfJsc&O{>jYVR^9$Ak4Iu_j{7^Z z#44n!y;+upX__pg?f@7mo_T6_z5ui3A|F@#?5yUQUk-77QI)~n@5SPv29$?&wp_IL zU)M7zaD({+0OXF6Ob6N9s`nNsBjG250_8W-bE|VhN>8W#0ThtTZH~=&!Y&BaT;?{% z_}6`Rf6d4Uzy|aUP!vaB0|C351x_v=xex0ieF3_0@)6|z679arQzwyM`Wspo<{798 iKS1vIJO3IqP)X00009a7bBm000XT z000XT0n*)m`~Uy|8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005t zNklW2NfI&rQoKUwm2031P7_Q>86O# z!NEm@Vh2IAL!nX>oYK)a*y7?Cr;FG0g!YpD0DV)q%O#)Q-MbeWavX9_5=K4T=r)yDxx*>yl4sts%e zC&y8CT??rN6u9c;8~}?m<8`>?$t>xOyUqb`qy5+~^NGZ3h^RY_+&zW4bmcYy$HyUc37!o%_eUx|Hs4t8X4`)jc{r~&0+ZQEsc z|FwMv1#Ui50YI)OljnOB;;GI8WhDH}pg;wU^j+$_kk_ZF3dMj j6+wW!@pt}NXjOazsoLYz_Lis>00000NkvXXu0mjfBzO!6 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/9/967_3_GENERATED.png b/public/images/pokemon/icons/variant/9/967_3.png similarity index 100% rename from public/images/pokemon/icons/variant/9/967_3_GENERATED.png rename to public/images/pokemon/icons/variant/9/967_3.png diff --git a/public/images/pokemon/icons/variant/9/994_2.png b/public/images/pokemon/icons/variant/9/994_2.png new file mode 100644 index 0000000000000000000000000000000000000000..00f5180e5b27030a21d092c50509d0edf1890805 GIT binary patch literal 807 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 N04i!IRK2tO{C~VCXJr5Y literal 0 HcmV?d00001 diff --git a/public/images/pokemon/variant/226_2.json b/public/images/pokemon/variant/226_2.json new file mode 100644 index 00000000000..90b13913952 --- /dev/null +++ b/public/images/pokemon/variant/226_2.json @@ -0,0 +1,3548 @@ +{ + "textures": [ + { + "image": "226_2.png", + "format": "RGBA8888", + "size": { + "w": 263, + "h": 263 + }, + "scale": 1, + "frames": [ + { + "filename": "0035.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0036.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0077.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0078.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0119.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0120.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0161.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0162.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + }, + "frame": { + "x": 0, + "y": 0, + "w": 78, + "h": 64 + } + }, + { + "filename": "0033.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0034.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0075.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0076.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0117.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0118.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0159.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0160.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 64, + "w": 78, + "h": 61 + } + }, + { + "filename": "0037.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0038.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0079.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0080.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0121.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0122.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0163.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0164.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 1, + "y": 1, + "w": 78, + "h": 61 + }, + "frame": { + "x": 0, + "y": 125, + "w": 78, + "h": 61 + } + }, + { + "filename": "0031.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0032.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0073.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0074.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0115.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0116.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0157.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0158.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 0, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0039.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0040.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0081.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0082.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0123.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0124.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0165.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0166.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 3, + "y": 4, + "w": 76, + "h": 59 + }, + "frame": { + "x": 76, + "y": 186, + "w": 76, + "h": 59 + } + }, + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0002.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0029.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0030.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0041.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0042.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0043.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0044.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0071.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0072.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0083.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0084.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0085.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0086.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0113.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0114.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0125.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0126.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0127.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0128.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0155.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0156.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0167.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0168.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 75, + "h": 57 + }, + "frame": { + "x": 78, + "y": 0, + "w": 75, + "h": 57 + } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0012.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0019.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0020.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0053.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0054.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0061.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0062.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0095.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0096.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0103.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0104.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0137.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0138.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0145.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0146.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 26, + "w": 75, + "h": 49 + }, + "frame": { + "x": 78, + "y": 57, + "w": 75, + "h": 49 + } + }, + { + "filename": "0003.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0027.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0028.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0045.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0046.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0069.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0070.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0087.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0088.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0111.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0112.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0129.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0130.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 10, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0153.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0154.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 73, + "h": 56 + }, + "frame": { + "x": 152, + "y": 106, + "w": 73, + "h": 56 + } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0025.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0026.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0047.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0048.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0067.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0068.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0089.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0090.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0109.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0110.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0131.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0132.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 14, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0151.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0152.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 7, + "y": 13, + "w": 74, + "h": 55 + }, + "frame": { + "x": 78, + "y": 106, + "w": 74, + "h": 55 + } + }, + { + "filename": "0007.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0023.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0024.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0049.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0050.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0065.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0066.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0091.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0092.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0107.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0108.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0133.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0134.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 18, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0149.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0150.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 17, + "w": 73, + "h": 53 + }, + "frame": { + "x": 152, + "y": 162, + "w": 73, + "h": 53 + } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0017.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0018.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0055.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0056.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0059.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0060.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0097.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0098.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0101.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0102.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0139.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0140.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0143.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0144.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 152, + "y": 215, + "w": 75, + "h": 48 + } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0021.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0022.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0051.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0052.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0063.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0064.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0093.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0094.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0105.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0106.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0135.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0136.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 22, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0147.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0148.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 21, + "w": 74, + "h": 52 + }, + "frame": { + "x": 153, + "y": 0, + "w": 74, + "h": 52 + } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + }, + { + "filename": "0016.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + }, + { + "filename": "0057.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + }, + { + "filename": "0058.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + }, + { + "filename": "0099.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + }, + { + "filename": "0100.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + }, + { + "filename": "0141.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + }, + { + "filename": "0142.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 83, + "h": 76 + }, + "spriteSourceSize": { + "x": 8, + "y": 28, + "w": 75, + "h": 48 + }, + "frame": { + "x": 153, + "y": 52, + "w": 75, + "h": 48 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:addcf7cb00b7678482b92fd4e528b514:8beb90997888d4b53f2152f37827d025:3a8dd1ba53bfe8db54d436adbdaea9e9$" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/226_2.png b/public/images/pokemon/variant/226_2.png new file mode 100644 index 0000000000000000000000000000000000000000..770f77e71540cc28ed92dccb6cac706bb5da980b GIT binary patch literal 12590 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 literal 0 HcmV?d00001 diff --git a/public/images/pokemon/variant/278.json b/public/images/pokemon/variant/278.json new file mode 100644 index 00000000000..201aa0450ab --- /dev/null +++ b/public/images/pokemon/variant/278.json @@ -0,0 +1,47 @@ +{ + "0": { + "525252": "542b2b", + "000000": "000000", + "ffffff": "ecd8d4", + "d6cee6": "ba928c", + "296b94": "3f4c13", + "73adff": "68965b", + "319cd6": "3c7a2d", + "949494": "855854", + "424242": "5d1f1f", + "8c5210": "420b0c", + "ffad31": "c66f68", + "313131": "2f1010", + "de8400": "af5457" + }, + "1": { + "525252": "2b3e68", + "000000": "000000", + "ffffff": "c7dff4", + "d6cee6": "80a2d0", + "296b94": "143a72", + "73adff": "657ddf", + "319cd6": "4060bc", + "949494": "3d5982", + "424242": "5a5aad", + "8c5210": "201838", + "ffad31": "5b5481", + "313131": "4b4a60", + "de8400": "473d6f" + }, + "2": { + "525252": "732a22", + "000000": "000000", + "ffffff": "f5e1d1", + "d6cee6": "d19e92", + "296b94": "5d0803", + "73adff": "be3d2f", + "319cd6": "892722", + "949494": "b97f6f", + "424242": "472929", + "8c5210": "5a0700", + "ffad31": "f16f40", + "313131": "2f1010", + "de8400": "bc4524" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/279_1.json b/public/images/pokemon/variant/279_1.json new file mode 100644 index 00000000000..3f884262e14 --- /dev/null +++ b/public/images/pokemon/variant/279_1.json @@ -0,0 +1,3611 @@ +{ + "textures": [ + { + "image": "279_1.png", + "format": "RGBA8888", + "size": { + "w": 422, + "h": 422 + }, + "scale": 1, + "frames": [ + { + "filename": "0003.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 1, + "w": 96, + "h": 53 + }, + "frame": { + "x": 0, + "y": 0, + "w": 96, + "h": 53 + } + }, + { + "filename": "0046.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 1, + "w": 96, + "h": 53 + }, + "frame": { + "x": 0, + "y": 0, + "w": 96, + "h": 53 + } + }, + { + "filename": "0131.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 1, + "w": 96, + "h": 53 + }, + "frame": { + "x": 0, + "y": 0, + "w": 96, + "h": 53 + } + }, + { + "filename": "0040.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 5, + "w": 96, + "h": 53 + }, + "frame": { + "x": 96, + "y": 0, + "w": 96, + "h": 53 + } + }, + { + "filename": "0081.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 5, + "w": 96, + "h": 53 + }, + "frame": { + "x": 96, + "y": 0, + "w": 96, + "h": 53 + } + }, + { + "filename": "0124.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 5, + "w": 96, + "h": 53 + }, + "frame": { + "x": 96, + "y": 0, + "w": 96, + "h": 53 + } + }, + { + "filename": "0168.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 5, + "w": 96, + "h": 53 + }, + "frame": { + "x": 96, + "y": 0, + "w": 96, + "h": 53 + } + }, + { + "filename": "0033.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 9, + "w": 96, + "h": 52 + }, + "frame": { + "x": 192, + "y": 0, + "w": 96, + "h": 52 + } + }, + { + "filename": "0161.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 9, + "w": 96, + "h": 52 + }, + "frame": { + "x": 192, + "y": 0, + "w": 96, + "h": 52 + } + }, + { + "filename": "0045.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 94, + "h": 53 + }, + "frame": { + "x": 288, + "y": 0, + "w": 94, + "h": 53 + } + }, + { + "filename": "0088.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 94, + "h": 53 + }, + "frame": { + "x": 288, + "y": 0, + "w": 94, + "h": 53 + } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0047.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0048.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0089.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0090.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0091.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0132.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0133.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0134.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 1, + "w": 93, + "h": 53 + }, + "frame": { + "x": 192, + "y": 52, + "w": 93, + "h": 53 + } + }, + { + "filename": "0007.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0049.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0050.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0051.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0092.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0093.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0094.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0135.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0136.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 2, + "w": 93, + "h": 53 + }, + "frame": { + "x": 285, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0052.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0053.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0054.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0095.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0096.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0137.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0138.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0139.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 3, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0012.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0055.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0056.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0097.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0098.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0099.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0140.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0141.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0142.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 53, + "w": 93, + "h": 53 + } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0016.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0057.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0058.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0059.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0100.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0101.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0102.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0143.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0144.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 186, + "y": 105, + "w": 93, + "h": 53 + } + }, + { + "filename": "0038.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 7, + "w": 93, + "h": 53 + }, + "frame": { + "x": 279, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0123.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 7, + "w": 93, + "h": 53 + }, + "frame": { + "x": 279, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0166.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 7, + "w": 93, + "h": 53 + }, + "frame": { + "x": 279, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0039.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0082.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0125.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0167.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 0, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0083.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 5, + "w": 93, + "h": 53 + }, + "frame": { + "x": 93, + "y": 106, + "w": 93, + "h": 53 + } + }, + { + "filename": "0119.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 9, + "w": 82, + "h": 60 + }, + "frame": { + "x": 186, + "y": 158, + "w": 82, + "h": 60 + } + }, + { + "filename": "0076.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 0, + "y": 9, + "w": 94, + "h": 52 + }, + "frame": { + "x": 268, + "y": 159, + "w": 94, + "h": 52 + } + }, + { + "filename": "0085.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 1, + "w": 57, + "h": 68 + }, + "frame": { + "x": 362, + "y": 159, + "w": 57, + "h": 68 + } + }, + { + "filename": "0128.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 1, + "w": 57, + "h": 68 + }, + "frame": { + "x": 362, + "y": 159, + "w": 57, + "h": 68 + } + }, + { + "filename": "0037.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 81, + "h": 60 + }, + "frame": { + "x": 268, + "y": 211, + "w": 81, + "h": 60 + } + }, + { + "filename": "0080.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 81, + "h": 60 + }, + "frame": { + "x": 268, + "y": 211, + "w": 81, + "h": 60 + } + }, + { + "filename": "0165.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 81, + "h": 60 + }, + "frame": { + "x": 268, + "y": 211, + "w": 81, + "h": 60 + } + }, + { + "filename": "0034.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 68, + "h": 63 + }, + "frame": { + "x": 349, + "y": 227, + "w": 68, + "h": 63 + } + }, + { + "filename": "0162.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 68, + "h": 63 + }, + "frame": { + "x": 349, + "y": 227, + "w": 68, + "h": 63 + } + }, + { + "filename": "0126.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 81, + "h": 60 + }, + "frame": { + "x": 0, + "y": 159, + "w": 81, + "h": 60 + } + }, + { + "filename": "0002.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 0, + "w": 82, + "h": 59 + }, + "frame": { + "x": 81, + "y": 159, + "w": 82, + "h": 59 + } + }, + { + "filename": "0087.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 0, + "w": 82, + "h": 59 + }, + "frame": { + "x": 81, + "y": 159, + "w": 82, + "h": 59 + } + }, + { + "filename": "0130.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 6, + "y": 0, + "w": 82, + "h": 59 + }, + "frame": { + "x": 81, + "y": 159, + "w": 82, + "h": 59 + } + }, + { + "filename": "0017.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0018.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0019.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0060.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0061.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0062.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0103.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0104.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0145.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0146.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0147.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 6, + "w": 93, + "h": 52 + }, + "frame": { + "x": 81, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0041.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 3, + "w": 68, + "h": 63 + }, + "frame": { + "x": 0, + "y": 219, + "w": 68, + "h": 63 + } + }, + { + "filename": "0084.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 3, + "w": 68, + "h": 63 + }, + "frame": { + "x": 0, + "y": 219, + "w": 68, + "h": 63 + } + }, + { + "filename": "0169.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 3, + "w": 68, + "h": 63 + }, + "frame": { + "x": 0, + "y": 219, + "w": 68, + "h": 63 + } + }, + { + "filename": "0020.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0021.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0022.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0063.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0064.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0105.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0106.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0107.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0148.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0149.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0150.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 7, + "w": 93, + "h": 52 + }, + "frame": { + "x": 174, + "y": 218, + "w": 93, + "h": 52 + } + }, + { + "filename": "0023.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0024.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0065.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0066.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0067.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0108.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0109.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0110.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0151.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0152.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 8, + "w": 93, + "h": 52 + }, + "frame": { + "x": 68, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0079.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 7, + "w": 67, + "h": 63 + }, + "frame": { + "x": 0, + "y": 282, + "w": 67, + "h": 63 + } + }, + { + "filename": "0122.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 7, + "w": 67, + "h": 63 + }, + "frame": { + "x": 0, + "y": 282, + "w": 67, + "h": 63 + } + }, + { + "filename": "0025.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0026.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0027.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0068.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0069.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0070.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0111.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0112.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0153.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0154.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0155.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 9, + "w": 93, + "h": 52 + }, + "frame": { + "x": 161, + "y": 270, + "w": 93, + "h": 52 + } + }, + { + "filename": "0028.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0029.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0030.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0071.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0072.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0113.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0114.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0115.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0156.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0157.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0158.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 10, + "w": 93, + "h": 52 + }, + "frame": { + "x": 254, + "y": 271, + "w": 93, + "h": 52 + } + }, + { + "filename": "0042.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 3, + "w": 63, + "h": 66 + }, + "frame": { + "x": 347, + "y": 290, + "w": 63, + "h": 66 + } + }, + { + "filename": "0127.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 3, + "w": 63, + "h": 66 + }, + "frame": { + "x": 347, + "y": 290, + "w": 63, + "h": 66 + } + }, + { + "filename": "0170.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 3, + "w": 63, + "h": 66 + }, + "frame": { + "x": 347, + "y": 290, + "w": 63, + "h": 66 + } + }, + { + "filename": "0031.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0032.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0073.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0074.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0075.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0116.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0117.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0118.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0159.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0160.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 2, + "y": 11, + "w": 93, + "h": 52 + }, + "frame": { + "x": 67, + "y": 322, + "w": 93, + "h": 52 + } + }, + { + "filename": "0043.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 1, + "w": 63, + "h": 66 + }, + "frame": { + "x": 0, + "y": 345, + "w": 63, + "h": 66 + } + }, + { + "filename": "0086.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 1, + "w": 63, + "h": 66 + }, + "frame": { + "x": 0, + "y": 345, + "w": 63, + "h": 66 + } + }, + { + "filename": "0171.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 1, + "w": 63, + "h": 66 + }, + "frame": { + "x": 0, + "y": 345, + "w": 63, + "h": 66 + } + }, + { + "filename": "0077.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 63, + "h": 66 + }, + "frame": { + "x": 160, + "y": 322, + "w": 63, + "h": 66 + } + }, + { + "filename": "0120.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 63, + "h": 66 + }, + "frame": { + "x": 160, + "y": 322, + "w": 63, + "h": 66 + } + }, + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 0, + "w": 67, + "h": 62 + }, + "frame": { + "x": 223, + "y": 323, + "w": 67, + "h": 62 + } + }, + { + "filename": "0044.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 0, + "w": 67, + "h": 62 + }, + "frame": { + "x": 223, + "y": 323, + "w": 67, + "h": 62 + } + }, + { + "filename": "0129.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 0, + "w": 67, + "h": 62 + }, + "frame": { + "x": 223, + "y": 323, + "w": 67, + "h": 62 + } + }, + { + "filename": "0035.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 57, + "h": 67 + }, + "frame": { + "x": 290, + "y": 323, + "w": 57, + "h": 67 + } + }, + { + "filename": "0078.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 57, + "h": 67 + }, + "frame": { + "x": 290, + "y": 323, + "w": 57, + "h": 67 + } + }, + { + "filename": "0163.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 57, + "h": 67 + }, + "frame": { + "x": 290, + "y": 323, + "w": 57, + "h": 67 + } + }, + { + "filename": "0036.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 7, + "w": 62, + "h": 66 + }, + "frame": { + "x": 347, + "y": 356, + "w": 62, + "h": 66 + } + }, + { + "filename": "0121.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 7, + "w": 62, + "h": 66 + }, + "frame": { + "x": 347, + "y": 356, + "w": 62, + "h": 66 + } + }, + { + "filename": "0164.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 76 + }, + "spriteSourceSize": { + "x": 14, + "y": 7, + "w": 62, + "h": 66 + }, + "frame": { + "x": 347, + "y": 356, + "w": 62, + "h": 66 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:37124082e206aa3cddb045440ab1e9cf:8d64288649efa3066ed9b372190e868f:b1d275d5bba320dd22d2f2c7e56d52ec$" + } +} \ No newline at end of file diff --git a/public/images/pokemon/variant/279_1.png b/public/images/pokemon/variant/279_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f2aa7b8ac3a88f0b6bdd32ccabe9a5e548c405cb GIT binary patch literal 30209 zcmagFbyQW)-#@x(5e4aP=|(yPq`ONg=?>vYw@8CXcOObXx=RI=jzgy)br3uU0~PT#}P>^0hpAgBDU@fEwnz}a@-!%aBG7d0d7kVl0^L_c@>qvB)j zEU-`>9RX<0z`A=w!wZs21=LK`fcZG*Ou|dju6A6yt84aYsklDiK0l?+n1K(_%81)J zzFaUNC;cHJX_&**qWL4ESwMY^S7nUBIE>#Q+4Gq5Rls?s4W8%;|2qltVb8G*o1