From 302f1e51a0b20ba2c40ff309e58462b69d841284 Mon Sep 17 00:00:00 2001 From: "Amani H." <109637146+xsn34kzx@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:51:20 -0400 Subject: [PATCH 01/33] [Enhancement] Allow Starters to Remember Egg Moves (#2482) * Allow Starters to Remember Egg Moves * Adjust Documentation * Minor NIT --- src/field/pokemon.ts | 39 +++++++++++++++++++++++++++++++++++--- src/system/pokemon-data.ts | 2 ++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 22d0410233f..f2b0d02e245 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -84,6 +84,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public friendship: integer; public metLevel: integer; public metBiome: Biome | -1; + public metSpecies: Species; public luck: integer; public pauseEvolutions: boolean; public pokerus: boolean; @@ -173,6 +174,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.metLevel = dataSource.metLevel || 5; this.luck = dataSource.luck; this.metBiome = dataSource.metBiome; + this.metSpecies = dataSource.metSpecies ?? (this.metBiome !== -1 ? this.species.speciesId : this.species.getRootSpeciesId(true)); this.pauseEvolutions = dataSource.pauseEvolutions; this.pokerus = !!dataSource.pokerus; this.fusionSpecies = dataSource.fusionSpecies instanceof PokemonSpecies ? dataSource.fusionSpecies : getPokemonSpecies(dataSource.fusionSpecies); @@ -213,6 +215,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.friendship = species.baseFriendship; this.metLevel = level; this.metBiome = scene.currentBattle ? scene.arena.biomeType : -1; + this.metSpecies = species.speciesId; this.pokerus = false; if (level > 1) { @@ -885,11 +888,40 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * All moves that could be relearned by this pokemon at this point. Used for memory mushrooms. - * @returns {Moves[]} The valid moves + * Checks which egg moves have been unlocked for the {@linkcode Pokemon} based + * on the species it was met at or by the first {@linkcode Pokemon} in its evolution + * line that can act as a starter and provides those egg moves. + * @returns an array of {@linkcode Moves}, the length of which is determined by how many + * egg moves are unlocked for that species. + */ + getUnlockedEggMoves(): Moves[] { + const moves: Moves[] = []; + const species = this.metSpecies in speciesEggMoves ? this.metSpecies : this.getSpeciesForm(true).getRootSpeciesId(true); + if (species in speciesEggMoves) { + for (let i = 0; i < 4; i++) { + if (this.scene.gameData.starterData[species].eggMoves & (1 << i)) { + moves.push(speciesEggMoves[species][i]); + } + } + } + return moves; + } + + /** + * Gets all possible learnable level moves for the {@linkcode Pokemon}, + * excluding any moves already known. + * + * Available egg moves are only included if the {@linkcode Pokemon} was + * in the starting party of the run. + * @returns an array of {@linkcode Moves}, the length of which is determined + * by how many learnable moves there are for the {@linkcode Pokemon}. */ getLearnableLevelMoves(): Moves[] { - return this.getLevelMoves(1, true, false, true).map(lm => lm[1]).filter(lm => !this.moveset.filter(m => m.moveId === lm).length).filter((move: Moves, i: integer, array: Moves[]) => array.indexOf(move) === i); + let levelMoves = this.getLevelMoves(1, true).map(lm => lm[1]); + if (this.metBiome === -1) { + levelMoves = this.getUnlockedEggMoves().concat(levelMoves); + } + return levelMoves.filter(lm => !this.moveset.some(m => m.moveId === lm)); } /** @@ -4075,6 +4107,7 @@ export class EnemyPokemon extends Pokemon { this.pokeball = pokeballType; this.metLevel = this.level; this.metBiome = this.scene.arena.biomeType; + this.metSpecies = this.species.speciesId; const newPokemon = this.scene.addPlayerPokemon(this.species, this.level, this.abilityIndex, this.formIndex, this.gender, this.shiny, this.variant, this.ivs, this.nature, this); party.push(newPokemon); ret = newPokemon; diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 7e8f1e21c07..ca072c9eec8 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -38,6 +38,7 @@ export default class PokemonData { public friendship: integer; public metLevel: integer; public metBiome: Biome | -1; + public metSpecies: Species; public luck: integer; public pauseEvolutions: boolean; public pokerus: boolean; @@ -83,6 +84,7 @@ export default class PokemonData { this.friendship = source.friendship !== undefined ? source.friendship : getPokemonSpecies(this.species).baseFriendship; this.metLevel = source.metLevel || 5; this.metBiome = source.metBiome !== undefined ? source.metBiome : -1; + this.metSpecies = source.metSpecies; this.luck = source.luck !== undefined ? source.luck : (source.shiny ? (source.variant + 1) : 0); if (!forHistory) { this.pauseEvolutions = !!source.pauseEvolutions; From e5f458d2c079b164f6db0148f2d02652f630e7f3 Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+Tempo-anon@users.noreply.github.com> Date: Fri, 2 Aug 2024 13:02:49 -0400 Subject: [PATCH 02/33] [Bug] Fix affixes appearing when they shouldn't (#3236) * [Hotfix] Fix interactions of some moves not changing types (#3183) * [Hotfix] Fix wild spawns not having their HA (#3190) * Fix some cases of wrong affixes * There are two trainer send out messages --------- Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/phases.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/phases.ts b/src/phases.ts index a7ab9ad6e51..5916fc882cb 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -1437,7 +1437,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { this.scene.time.delayedCall(750, () => this.summon()); } else { const trainerName = this.scene.currentBattle.trainer.getName(!(this.fieldIndex % 2) ? TrainerSlot.TRAINER : TrainerSlot.TRAINER_PARTNER); - const pokemonName = getPokemonNameWithAffix(this.getPokemon()); + const pokemonName = this.getPokemon().getNameToRender(); const message = i18next.t("battle:trainerSendOut", { trainerName, pokemonName }); this.scene.pbTrayEnemy.hide(); @@ -1650,7 +1650,7 @@ export class SwitchSummonPhase extends SummonPhase { i18next.t("battle:playerGo", { pokemonName: getPokemonNameWithAffix(switchedPokemon) }) : i18next.t("battle:trainerGo", { trainerName: this.scene.currentBattle.trainer.getName(!(this.fieldIndex % 2) ? TrainerSlot.TRAINER : TrainerSlot.TRAINER_PARTNER), - pokemonName: getPokemonNameWithAffix(this.getPokemon()) + pokemonName: this.getPokemon().getNameToRender() }) ); // Ensure improperly persisted summon data (such as tags) is cleared upon switching @@ -5038,7 +5038,7 @@ export class AttemptCapturePhase extends PokemonPhase { Promise.all([pokemon.hideInfo(), this.scene.gameData.setPokemonCaught(pokemon)]).then(() => { if (this.scene.getParty().length === 6) { const promptRelease = () => { - this.scene.ui.showText(i18next.t("battle:partyFull", { pokemonName: getPokemonNameWithAffix(pokemon) }), null, () => { + this.scene.ui.showText(i18next.t("battle:partyFull", { pokemonName: pokemon.getNameToRender() }), null, () => { this.scene.pokemonInfoContainer.makeRoomForConfirmUi(1, true); this.scene.ui.setMode(Mode.CONFIRM, () => { const newPokemon = this.scene.addPlayerPokemon(pokemon.species, pokemon.level, pokemon.abilityIndex, pokemon.formIndex, pokemon.gender, pokemon.shiny, pokemon.variant, pokemon.ivs, pokemon.nature, pokemon); From 52ef92ae78912789540aac8cd1c5e2d0bd402024 Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+Tempo-anon@users.noreply.github.com> Date: Fri, 2 Aug 2024 13:03:46 -0400 Subject: [PATCH 03/33] [Enhancement] Add female and double grunts (#3280) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add female and double grunts, add localizations * Update src/locales/fr/trainers.ts Co-authored-by: Lugiad' * Update src/locales/it/trainers.ts Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com> * Update src/locales/ko/trainers.ts Co-authored-by: Enoch * Update src/locales/pt_BR/trainers.ts Co-authored-by: José Ricardo Fleury Oliveira * Update trainers.ts --------- Co-authored-by: Lugiad' Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com> Co-authored-by: Enoch Co-authored-by: José Ricardo Fleury Oliveira --- src/battle.ts | 37 ++++++++++++++++++++++++----------- src/locales/en/trainers.ts | 6 ++++++ src/locales/es/trainers.ts | 20 ++++++++++++++++++- src/locales/fr/trainers.ts | 8 +++++++- src/locales/it/trainers.ts | 20 ++++++++++++++++++- src/locales/ko/trainers.ts | 6 ++++++ src/locales/pt_BR/trainers.ts | 6 ++++++ src/locales/zh_CN/trainers.ts | 6 ++++++ src/locales/zh_TW/trainers.ts | 18 ++++++++++++++++- 9 files changed, 112 insertions(+), 15 deletions(-) diff --git a/src/battle.ts b/src/battle.ts index b6ae5354e5a..cbe6dee1a4a 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -425,7 +425,13 @@ export class FixedBattleConfig { } } -function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[]): GetTrainerFunc { +/** + * Helper function to generate a random trainer for evil team trainers and the elite 4/champion + * @param trainerPool The TrainerType or list of TrainerTypes that can possibly be generated + * @param randomGender whether or not to randomly (50%) generate a female trainer (for use with evil team grunts) + * @returns the generated trainer + */ +function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[], randomGender: boolean = false): GetTrainerFunc { return (scene: BattleScene) => { const rand = Utils.randSeedInt(trainerPool.length); const trainerTypes: TrainerType[] = []; @@ -435,11 +441,20 @@ function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[]): Get : trainerPoolEntry; trainerTypes.push(trainerType); } - // If the trainer type has a double variant, there's a 33% chance of it being a double battle (for now we only allow tate&liza to be double) - if (trainerConfigs[trainerTypes[rand]].trainerTypeDouble && (trainerTypes[rand] === TrainerType.TATE || trainerTypes[rand] === TrainerType.LIZA)) { - return new Trainer(scene, trainerTypes[rand], Utils.randSeedInt(3) ? TrainerVariant.DOUBLE : TrainerVariant.DEFAULT); + let trainerGender = TrainerVariant.DEFAULT; + if (randomGender) { + trainerGender = (Utils.randInt(2) === 0) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT; } - return new Trainer(scene, trainerTypes[rand], TrainerVariant.DEFAULT); + + /* 1/3 chance for evil team grunts to be double battles */ + const evilTeamGrunts = [TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT]; + const isEvilTeamGrunt = evilTeamGrunts.includes(trainerTypes[rand]); + + if (trainerConfigs[trainerTypes[rand]].hasDouble && isEvilTeamGrunt) { + return new Trainer(scene, trainerTypes[rand], (Utils.randInt(3) === 0) ? TrainerVariant.DOUBLE : trainerGender); + } + + return new Trainer(scene, trainerTypes[rand], trainerGender); }; } @@ -462,21 +477,21 @@ export const classicFixedBattles: FixedBattleConfigs = { [25]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_2, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)), [35]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [55]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_3, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)), [62]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [64]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [66]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_4, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)), [112]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [114]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [115]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_BOSS_GIOVANNI_1, TrainerType.MAXIE, TrainerType.ARCHIE, TrainerType.CYRUS, TrainerType.GHETSIS, TrainerType.LYSANDRE ])), [145]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index b59cfdc4fda..8e0394e0786 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -126,17 +126,23 @@ export const trainerClasses: SimpleTranslationEntries = { "workers": "Workers", "youngster": "Youngster", "rocket_grunt": "Rocket Grunt", + "rocket_grunts": "Rocket Grunts", "rocket_grunt_female": "Rocket Grunt", "magma_grunt": "Magma Grunt", "magma_grunt_female": "Magma Grunt", + "magma_grunts": "Magma Grunts", "aqua_grunt": "Aqua Grunt", "aqua_grunt_female": "Aqua Grunt", + "aqua_grunts": "Aqua Grunts", "galactic_grunt": "Galactic Grunt", "galactic_grunt_female": "Galactic Grunt", + "galactic_grunts": "Galactic Grunts", "plasma_grunt": "Plasma Grunt", "plasma_grunt_female": "Plasma Grunt", + "plasma_grunts": "Plasma Grunts", "flare_grunt": "Flare Grunt", "flare_grunt_female": "Flare Grunt", + "flare_grunts": "Flare Grunts", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts index d5647f83cf6..133cce0785c 100644 --- a/src/locales/es/trainers.ts +++ b/src/locales/es/trainers.ts @@ -117,7 +117,25 @@ export const trainerClasses: SimpleTranslationEntries = { "worker": "Operario", "worker_female": "Operaria", "workers": "Operarios", - "youngster": "Joven" + "youngster": "Joven", + "rocket_grunt": "Rocket Grunt", + "rocket_grunts": "Rocket Grunts", + "rocket_grunt_female": "Rocket Grunt", + "magma_grunt": "Magma Grunt", + "magma_grunt_female": "Magma Grunt", + "magma_grunts": "Magma Grunts", + "aqua_grunt": "Aqua Grunt", + "aqua_grunt_female": "Aqua Grunt", + "aqua_grunts": "Aqua Grunts", + "galactic_grunt": "Galactic Grunt", + "galactic_grunt_female": "Galactic Grunt", + "galactic_grunts": "Galactic Grunts", + "plasma_grunt": "Plasma Grunt", + "plasma_grunt_female": "Plasma Grunt", + "plasma_grunts": "Plasma Grunts", + "flare_grunt": "Flare Grunt", + "flare_grunt_female": "Flare Grunt", + "flare_grunts": "Flare Grunts", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index fc0639d47b9..bc2a959c428 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -127,16 +127,22 @@ export const trainerClasses: SimpleTranslationEntries = { "youngster": "Gamin", "rocket_grunt": "Sbire de la Team Rocket", "rocket_grunt_female": "Sbire de la Team Rocket", + "rocket_grunts": "Sbires de la Team Rocket", "magma_grunt": "Sbire de la Team Magma", "magma_grunt_female": "Sbire de la Team Magma", + "magma_grunts": "Sbires de la Team Magma", "aqua_grunt": "Sbire de la Team Aqua", "aqua_grunt_female": "Sbire de la Team Aqua", + "aqua_grunts": "Sbires de la Team Aqua", "galactic_grunt": "Sbire de la Team Galaxie", - "galactic_grunt_female": "Sbire Team Galaxie", + "galactic_grunt_female": "Sbire de la Team Galaxie", + "galactic_grunts": "Sbires de la Team Galaxie", "plasma_grunt": "Sbire de la Team Plasma", "plasma_grunt_female": "Sbire de la Team Plasma", + "plasma_grunts": "Sbires de la Team Plasma", "flare_grunt": "Sbire de la Team Flare", "flare_grunt_female": "Sbire de la Team Flare", + "flare_grunts": "Sbires de la Team Flare", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index 420b9bf9f24..260e44bdca8 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -118,7 +118,25 @@ export const trainerClasses: SimpleTranslationEntries = { "worker": "Operaio", "worker_female": "Lavoratrice", "workers": "Lavoratori", - "youngster": "Bullo" + "youngster": "Bullo", + "rocket_grunt": "Recluta Team Rocket", + "rocket_grunts": "Reclute Team Rocket", + "rocket_grunt_female": "Recluta Team Rocket", + "magma_grunt": "Recluta Team Magma", + "magma_grunt_female": "Recluta Team Magma", + "magma_grunts": "Reclute Team Magma", + "aqua_grunt": "Recluta Team Idro", + "aqua_grunt_female": "Recluta Team Idro", + "aqua_grunts": "Recluta Team Idro", + "galactic_grunt": "Recluta Team Galassia", + "galactic_grunt_female": "Recluta Team Galassia", + "galactic_grunts": "Reclute Team Galassia", + "plasma_grunt": "Seguace Plasma", + "plasma_grunt_female": "Seguace Plasma", + "plasma_grunts": "Seguaci Plasma", + "flare_grunt": "Recluta Team Flare", + "flare_grunt_female": "Recluta Team Flare", + "flare_grunts": "Reclute Team Flare", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/ko/trainers.ts b/src/locales/ko/trainers.ts index 429ab13b223..aafe4121442 100644 --- a/src/locales/ko/trainers.ts +++ b/src/locales/ko/trainers.ts @@ -127,16 +127,22 @@ export const trainerClasses: SimpleTranslationEntries = { "youngster": "반바지 꼬마", "rocket_grunt": "로켓단 조무래기", "rocket_grunt_female": "로켓단 조무래기", + "rocket_grunts": "로켓단 조무래기들", "magma_grunt": "마그마단 조무래기", "magma_grunt_female": "마그마단 조무래기", + "magma_grunts": "마그마단 조무래기들", "aqua_grunt": "아쿠아단 조무래기", "aqua_grunt_female": "아쿠아단 조무래기", + "aqua_grunts": "아쿠아단 조무래기들", "galactic_grunt": "갤럭시단 조무래기", "galactic_grunt_female": "갤럭시단 조무래기", + "galactic_grunts": "갤럭시단 조무래기들", "plasma_grunt": "플라스마단 조무래기", "plasma_grunt_female": "플라스마단 조무래기", + "plasma_grunts": "플라스마단 조무래기들", "flare_grunt": "플레어단 조무래기", "flare_grunt_female": "플레어단 조무래기", + "flare_grunts": "플레어단 조무래기들", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index 57fbe220412..61a0be25005 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -127,16 +127,22 @@ export const trainerClasses: SimpleTranslationEntries = { "youngster": "Jovem", "rocket_grunt": "Recruta da Equipe Rocket", "rocket_grunt_female": "Recruta da Equipe Rocket", + "rocket_grunts": "Recrutas da Equipe Rocket", "magma_grunt": "Recruta da Equipe Magma", "magma_grunt_female": "Recruta da Equipe Magma", + "magma_grunts": "Recrutas da Equipe Magma", "aqua_grunt": "Recruta da Equipe Aqua", "aqua_grunt_female": "Recruta da Equipe Aqua", + "aqua_grunts": "Recrutas da Equipe Aqua", "galactic_grunt": "Recruta da Equipe Galáctica", "galactic_grunt_female": "Recruta da Equipe Galáctica", + "galactic_grunts": "Recrutas da Equipe Galáctica", "plasma_grunt": "Recruta da Equipe Plasma", "plasma_grunt_female": "Recruta da Equipe Plasma", + "plasma_grunts": "Recrutas da Equipe Plasma", "flare_grunt": "Recruta da Equipe Flare", "flare_grunt_female": "Recruta da Equipe Flare", + "flare_grunts": "Recrutas da Equipe Flare", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index 534685d05d1..e06f2afe2ec 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -127,16 +127,22 @@ export const trainerClasses: SimpleTranslationEntries = { "youngster": "短裤小子", "rocket_grunt": "火箭队手下", "rocket_grunt_female": "火箭队手下", + "rocket_grunts": "火箭队手下们", "magma_grunt": "熔岩队手下", "magma_grunt_female": "熔岩队手下", + "magma_grunts": "熔岩队手下们", "aqua_grunt": "海洋队手下", "aqua_grunt_female": "海洋队手下", + "aqua_grunts": "海洋队手下们", "galactic_grunt": "银河队手下", "galactic_grunt_female": "银河队手下", + "galactic_grunts": "银河队手下们", "plasma_grunt": "等离子队手下", "plasma_grunt_female": "等离子队手下", + "plasma_grunts": "等离子队手下们", "flare_grunt": "闪焰队手下", "flare_grunt_female": "闪焰队手下", + "flare_grunts": "闪焰队手下们", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/zh_TW/trainers.ts b/src/locales/zh_TW/trainers.ts index 594363ce009..2a6c3eac662 100644 --- a/src/locales/zh_TW/trainers.ts +++ b/src/locales/zh_TW/trainers.ts @@ -118,7 +118,23 @@ export const trainerClasses: SimpleTranslationEntries = { "worker": "工人", "worker_female": "工人", "workers": "工人組合", - "youngster": "短褲小子" + "youngster": "短褲小子", + "rocket_grunts": "火箭队手下們", + "magma_grunt": "熔岩队手下", + "magma_grunt_female": "熔岩队手下", + "magma_grunts": "熔岩队手下們", + "aqua_grunt": "海洋队手下", + "aqua_grunt_female": "海洋队手下", + "aqua_grunts": "海洋队手下們", + "galactic_grunt": "银河队手下", + "galactic_grunt_female": "银河队手下", + "galactic_grunts": "银河队手下們", + "plasma_grunt": "等离子队手下", + "plasma_grunt_female": "等离子队手下", + "plasma_grunts": "等离子队手下們", + "flare_grunt": "闪焰队手下", + "flare_grunt_female": "闪焰队手下", + "flare_grunts": "闪焰队手下們", } as const; // Names of special trainers like gym leaders, elite four, and the champion From 3a87c8657fa8c65b306a7b7bc883a834002485c2 Mon Sep 17 00:00:00 2001 From: Frederico Santos Date: Fri, 2 Aug 2024 18:26:49 +0100 Subject: [PATCH 04/33] Disable egg gacha in rewards (#3304) * chore: Refactor excludedMenus logic in MenuUiHandler * Refactor excludedMenus logic in MenuUiHandler * Update src/ui/menu-ui-handler.ts Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> * Refactor excludedMenus logic in MenuUiHandler * chore: Add setup method to MenuUiHandler * Refactor excludedMenus logic in MenuUiHandler --------- Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> --- src/ui/menu-ui-handler.ts | 67 ++++++++++++++++++++++++++++----------- src/ui/ui.ts | 4 +++ 2 files changed, 53 insertions(+), 18 deletions(-) diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index a0cea2f78d5..65637689d49 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -40,8 +40,8 @@ export default class MenuUiHandler extends MessageUiHandler { private cursorObj: Phaser.GameObjects.Image; - protected ignoredMenuOptions: MenuOptions[]; - protected menuOptions: MenuOptions[]; + private excludedMenus: () => ConditionalMenu[]; + private menuOptions: MenuOptions[]; protected manageDataConfig: OptionSelectConfig; protected communityConfig: OptionSelectConfig; @@ -52,13 +52,19 @@ export default class MenuUiHandler extends MessageUiHandler { constructor(scene: BattleScene, mode?: Mode) { super(scene, mode); - this.ignoredMenuOptions = !bypassLogin - ? [ ] - : [ MenuOptions.LOG_OUT ]; - this.menuOptions = Utils.getEnumKeys(MenuOptions).map(m => parseInt(MenuOptions[m]) as MenuOptions).filter(m => !this.ignoredMenuOptions.includes(m)); + this.excludedMenus = () => [ + { condition: [Mode.COMMAND, Mode.TITLE].includes(mode ?? Mode.TITLE), options: [ MenuOptions.EGG_GACHA, MenuOptions.EGG_LIST] }, + { condition: bypassLogin, options: [ MenuOptions.LOG_OUT ] } + ]; + + this.menuOptions = Utils.getEnumKeys(MenuOptions) + .map(m => parseInt(MenuOptions[m]) as MenuOptions) + .filter(m => { + return !this.excludedMenus().some(exclusion => exclusion.condition && exclusion.options.includes(m)); + }); } - setup() { + setup(): void { const ui = this.getUi(); // wiki url directs based on languges available on wiki const lang = i18next.resolvedLanguage.substring(0,2); @@ -80,10 +86,25 @@ export default class MenuUiHandler extends MessageUiHandler { this.menuOverlay.setOrigin(0,0); this.menuContainer.add(this.menuOverlay); - const menuMessageText = addTextObject(this.scene, 8, 8, "", TextStyle.WINDOW, { maxLines: 2 }); - menuMessageText.setName("menu-message"); - menuMessageText.setWordWrapWidth(1224); - menuMessageText.setOrigin(0, 0); + this.menuContainer.add(this.bgmBar); + + this.menuContainer.setVisible(false); + + } + + + render() { + const ui = this.getUi(); + this.excludedMenus = () => [ + { condition: ![Mode.COMMAND, Mode.TITLE].includes(ui.getModeChain()[0]), options: [ MenuOptions.EGG_GACHA, MenuOptions.EGG_LIST] }, + { condition: bypassLogin, options: [ MenuOptions.LOG_OUT ] } + ]; + + this.menuOptions = Utils.getEnumKeys(MenuOptions) + .map(m => parseInt(MenuOptions[m]) as MenuOptions) + .filter(m => { + return !this.excludedMenus().some(exclusion => exclusion.condition && exclusion.options.includes(m)); + }); this.optionSelectText = addTextObject(this.scene, 0, 0, this.menuOptions.map(o => `${i18next.t(`menuUiHandler:${MenuOptions[o]}`)}`).join("\n"), TextStyle.WINDOW, { maxLines: this.menuOptions.length }); this.optionSelectText.setLineSpacing(12); @@ -108,10 +129,12 @@ export default class MenuUiHandler extends MessageUiHandler { menuMessageBox.setOrigin(0, 0); this.menuMessageBoxContainer.add(menuMessageBox); + const menuMessageText = addTextObject(this.scene, 8, 8, "", TextStyle.WINDOW, { maxLines: 2 }); + menuMessageText.setName("menu-message"); + menuMessageText.setWordWrapWidth(1224); + menuMessageText.setOrigin(0, 0); this.menuMessageBoxContainer.add(menuMessageText); - this.menuContainer.add(this.bgmBar); - this.message = menuMessageText; this.menuContainer.add(this.menuMessageBoxContainer); @@ -270,16 +293,19 @@ export default class MenuUiHandler extends MessageUiHandler { xOffset: 98, options: communityOptions }; - this.setCursor(0); - - this.menuContainer.setVisible(false); } show(args: any[]): boolean { - + this.render(); super.show(args); + this.menuOptions = Utils.getEnumKeys(MenuOptions) + .map(m => parseInt(MenuOptions[m]) as MenuOptions) + .filter(m => { + return !this.excludedMenus().some(exclusion => exclusion.condition && exclusion.options.includes(m)); + }); + this.menuContainer.setVisible(true); this.setCursor(0); @@ -305,7 +331,7 @@ export default class MenuUiHandler extends MessageUiHandler { if (button === Button.ACTION) { let adjustedCursor = this.cursor; - for (const imo of this.ignoredMenuOptions) { + for (const imo of this.excludedMenus().find(e => e.condition).options.sort()) { if (adjustedCursor >= imo) { adjustedCursor++; } else { @@ -506,3 +532,8 @@ export default class MenuUiHandler extends MessageUiHandler { this.cursorObj = null; } } + +interface ConditionalMenu { + condition: boolean; + options: MenuOptions[]; +} diff --git a/src/ui/ui.ts b/src/ui/ui.ts index b409b7c0d78..6061baf3b4a 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -536,4 +536,8 @@ export default class UI extends Phaser.GameObjects.Container { this.revertMode().then(success => Utils.executeIf(success, this.revertModes).then(() => resolve())); }); } + + public getModeChain(): Mode[] { + return this.modeChain; + } } From 0d406b1092ef10ad44cb8140749cf690a044751c Mon Sep 17 00:00:00 2001 From: Frederico Santos Date: Fri, 2 Aug 2024 19:20:17 +0100 Subject: [PATCH 05/33] hotfix cursor selection --- src/ui/menu-ui-handler.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index 65637689d49..755267fcede 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -331,11 +331,15 @@ export default class MenuUiHandler extends MessageUiHandler { if (button === Button.ACTION) { let adjustedCursor = this.cursor; - for (const imo of this.excludedMenus().find(e => e.condition).options.sort()) { - if (adjustedCursor >= imo) { - adjustedCursor++; - } else { - break; + const excludedMenu = this.excludedMenus().find(e => e.condition); + if (excludedMenu !== null && excludedMenu.options.length > 0) { + const sortedOptions = excludedMenu.options.sort(); + for (const imo of sortedOptions) { + if (adjustedCursor >= imo) { + adjustedCursor++; + } else { + break; + } } } switch (adjustedCursor) { From 2f83e6e2e1f21bd1e8669330432899fb11a247d6 Mon Sep 17 00:00:00 2001 From: Frederico Santos Date: Fri, 2 Aug 2024 19:28:05 +0100 Subject: [PATCH 06/33] explicit check for options --- 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 755267fcede..6d70bb27ae5 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -332,7 +332,7 @@ export default class MenuUiHandler extends MessageUiHandler { if (button === Button.ACTION) { let adjustedCursor = this.cursor; const excludedMenu = this.excludedMenus().find(e => e.condition); - if (excludedMenu !== null && excludedMenu.options.length > 0) { + if (excludedMenu !== null && excludedMenu.options !== undefined && excludedMenu.options.length > 0) { const sortedOptions = excludedMenu.options.sort(); for (const imo of sortedOptions) { if (adjustedCursor >= imo) { From 9f68ba867148f39bd8c707b6afe491ebdceab695 Mon Sep 17 00:00:00 2001 From: Frederico Santos Date: Fri, 2 Aug 2024 21:02:24 +0100 Subject: [PATCH 07/33] null or undefined? who knows. --- 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 6d70bb27ae5..4710c575ce9 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -332,7 +332,7 @@ export default class MenuUiHandler extends MessageUiHandler { if (button === Button.ACTION) { let adjustedCursor = this.cursor; const excludedMenu = this.excludedMenus().find(e => e.condition); - if (excludedMenu !== null && excludedMenu.options !== undefined && excludedMenu.options.length > 0) { + if (excludedMenu !== undefined && excludedMenu.options !== undefined && excludedMenu.options.length > 0) { const sortedOptions = excludedMenu.options.sort(); for (const imo of sortedOptions) { if (adjustedCursor >= imo) { From 263924feda3acf78ad1aa67087a747c21ea6c76b Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Fri, 2 Aug 2024 17:11:54 -0400 Subject: [PATCH 08/33] [Item] Adjust White Herb weight and add Scope Lens to trainer item pool (#3308) --- src/modifier/modifier-type.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 86014d37a5b..235b48067b1 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1569,7 +1569,7 @@ const modifierPool: ModifierPool = { p => !p.getHeldItems().some(i => i instanceof Modifiers.PokemonResetNegativeStatStageModifier && i.stackCount >= i.getMaxHeldItemCount(p)) && (checkedAbilities.some(a => p.hasAbility(a, false, true)) || p.getMoveset(true).some(m => selfStatLowerMoves.includes(m.moveId)))).length; // If a party member has one of the above moves or abilities and doesn't have max herbs, the herb will appear more frequently - return 3 * (weightMultiplier ? 2: 1) + (weightMultiplier ? weightMultiplier - 1 : 0); + return 2 * (weightMultiplier ? 2 : 1) + (weightMultiplier ? weightMultiplier : 0); }, 10), new WeightedModifierType(modifierTypes.REVIVER_SEED, 4), new WeightedModifierType(modifierTypes.CANDY_JAR, 5), @@ -1637,7 +1637,7 @@ const wildModifierPool: ModifierPool = { }), [ModifierTier.ULTRA]: [ new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 10), - new WeightedModifierType(modifierTypes.WHITE_HERB, 2) + new WeightedModifierType(modifierTypes.WHITE_HERB, 1) ].map(m => { m.setTier(ModifierTier.ULTRA); return m; }), @@ -1666,7 +1666,7 @@ const trainerModifierPool: ModifierPool = { m.setTier(ModifierTier.GREAT); return m; }), [ModifierTier.ULTRA]: [ - new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 5), + new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 10), new WeightedModifierType(modifierTypes.WHITE_HERB, 1), ].map(m => { m.setTier(ModifierTier.ULTRA); return m; @@ -1684,6 +1684,7 @@ const trainerModifierPool: ModifierPool = { new WeightedModifierType(modifierTypes.KINGS_ROCK, 1), new WeightedModifierType(modifierTypes.LEFTOVERS, 1), new WeightedModifierType(modifierTypes.SHELL_BELL, 1), + new WeightedModifierType(modifierTypes.SCOPE_LENS, 1), ].map(m => { m.setTier(ModifierTier.MASTER); return m; }) From 03ba575ee592818c4f94a09e0737cf586d95a95f Mon Sep 17 00:00:00 2001 From: cam Date: Fri, 2 Aug 2024 17:12:06 -0400 Subject: [PATCH 09/33] [Sprite] Wo-Chien back sprite (#3307) * [Fix][Sprite] 4083 Galarian Farfetch'd exp Fixed cropped feet on exp for default & shiny. Rearranged spritesheet to fit new size. Both sritesheets have identical sprite framing. Both json are identical. * [Fix][Sprite] 1001 Wo-Chien exp fix cleaned up tips of antlers slightly improved back sprite default + shiny. identical json, identical framing --- public/images/pokemon/exp/back/1001.json | 406 ++++++------------ public/images/pokemon/exp/back/1001.png | Bin 2725 -> 2686 bytes .../images/pokemon/exp/back/shiny/1001.json | 406 ++++++------------ public/images/pokemon/exp/back/shiny/1001.png | Bin 2708 -> 2678 bytes 4 files changed, 274 insertions(+), 538 deletions(-) diff --git a/public/images/pokemon/exp/back/1001.json b/public/images/pokemon/exp/back/1001.json index 7547fbd93bd..e8b2776127c 100644 --- a/public/images/pokemon/exp/back/1001.json +++ b/public/images/pokemon/exp/back/1001.json @@ -1,272 +1,140 @@ { - "textures": [ - { - "image": "1001.png", - "format": "RGBA8888", - "size": { - "w": 237, - "h": 237 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 79, - "h": 79 - }, - "frame": { - "x": 0, - "y": 0, - "w": 79, - "h": 79 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 79, - "h": 78 - }, - "frame": { - "x": 79, - "y": 0, - "w": 79, - "h": 78 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 79, - "h": 78 - }, - "frame": { - "x": 79, - "y": 0, - "w": 79, - "h": 78 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 79, - "h": 76 - }, - "frame": { - "x": 158, - "y": 0, - "w": 79, - "h": 76 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 79, - "h": 76 - }, - "frame": { - "x": 158, - "y": 0, - "w": 79, - "h": 76 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 79, - "h": 75 - }, - "frame": { - "x": 158, - "y": 76, - "w": 79, - "h": 75 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 79, - "h": 75 - }, - "frame": { - "x": 158, - "y": 76, - "w": 79, - "h": 75 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 79, - "h": 74 - }, - "frame": { - "x": 79, - "y": 78, - "w": 79, - "h": 74 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 79, - "h": 74 - }, - "frame": { - "x": 79, - "y": 78, - "w": 79, - "h": 74 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 79, - "h": 73 - }, - "frame": { - "x": 0, - "y": 79, - "w": 79, - "h": 73 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 79, - "h": 73 - }, - "frame": { - "x": 0, - "y": 79, - "w": 79, - "h": 73 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 7, - "w": 79, - "h": 72 - }, - "frame": { - "x": 158, - "y": 151, - "w": 79, - "h": 72 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:2873276355a5ff8fe57d616764a11cb5:5516cfd39964108d480df461b020785f:c8a3fc07f857e38a4f887e43523aab92$" + "textures":[ + { + "image": "1001.png", + "format": "RGBA8888", + "size": { "w": 161, "h": 157 }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0002.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0003.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0007.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0012.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + }, + { + "filename": "0016.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + } + ]}], + "meta": {"app": "https://www.aseprite.org/","version": "1.3.7-x64" } } diff --git a/public/images/pokemon/exp/back/1001.png b/public/images/pokemon/exp/back/1001.png index 606028b4d162892a22dc37c4a5f2fefbdcb54048..7eead83b5782a3dda69a94816475bfbf03b33209 100644 GIT binary patch delta 2658 zcmV-o3Z3<(75)@1iBL{Q4GJ0x0000DNk~Le0001?0001;2m=5B0P8pCQUCw|0drDE zLIAGL9O;oEIe!jxQchC<|NsC0|NsC0|NsC0|5r-e6aWAT=t)FDRCt`d+lzXmAP@#n z1~eUGgmSymbKL(edpP%fRw)DndgT~r$YE~@0 z@z)@oS~#)z#$SWj0)-RhjS}meGFTML;2Ymq@^3r0kAIi224+R+yL@8lN994c@6Kz2 zdC~Iq)c|wvB9|%QJXjWgtgV3I4f|uCZ@|8T&v?^dNpvquq%DE~1rLJe^}vGY{=Hr= zfcN`tvuA~$^v)O1p%*~-DBvtu65YRl?)7p2a^AYG^twFTpYW65fr*Dr5AqPv=cE$-tv zN<0LSW9{<1nF3p)BW?@ei$({0bgm-Oz<&_>yA_Q+Y!j~XFxV7BgKs#22FeMD|0;?= zbEv0TUOb*k<7RCXY>Vp_L9V&m!h$I?D5Nz;(L+3T)?!B-1luBmTe!~fF+3f-q$`4+ z#W>IJI47^ zxWHDGYvQ_5opA&^=#s;I#d>Vj5?WwVJYI~1B`VGd&TRs2onV(p9S4xZ$KbAIF^sOb zTA@7|leE29=&*Lrfe>1#T*5Aqn}3C$sBwzp7tK-D3K?hm}A{0HtON5BzLuDrS!r>G}K7}fc_mT7=!m9R?$9&CfMu^+1Rfk@C<7X9v*hLREXtETt(-t^7vOGpyMtw~U%aMz;LZ(&@qsP+ z+|SA0%gu~)N_~PQZ%j-_hpkv;;-bf&g5o~S?^lμh)4jo~KDPqD&@=Tj@^RW6kg zaczq@9zbjoeh|-3c{5^lxPJken{G|QX0&)|!rpp%#Z~N>2s8^EGDu|S`g8tt_a?b{ zK5nL<=?#e22*y>We?0FhopUEHM4lc!;M5?)3>A({8gFv9F#1JaC{f8k#@Z^#3lV>M zbiV~}2}!$ciFZ_%OWmTZmkyBSSH9bX4ekA)@js3g-pSNzaaq^n4S$K-HO3ajFzVaP zk*w~_$@^MCe|vKV*Ww5`n?=lzVURdAt9Eraa#7_qg*n|EJ=$R~f`Mm)9( zw@jEs{ArX?peiTtz1YT&SLE32&l>O2Y5D(+cSTT4L&aA9vt--p2m^_YKpvS z<{Q3Z#@)|3U_kEPP&{ZvOSjC*A{X}DV+BuEMahv)_-RLpAXxj+2NgyB-Zj}*)|N|G zg{6DPeZgk|^?yVxYxrP|_b_dZcLFDME1$Y}dMmvRRqnjZLaIW6Sr}wM9sO#TT>O7@Cx9(oZVo(-*HzA;b;=v2XCA z!^%z5LaY9PD1RX#vy80P&MzXDSoU_D%+9o863R4FP(PV`&&2WWsSYtF< zaf!ung>G15I9Xv#Pq;!atTCRfFs2c%&<<Xv@eG%#>uKTo~$sY8m?HC!y4;&RD;Nycn??1kTq{Os=;72t}#ru zys@Z;h}Ce#DB1Q#q8fN~ge!)~&ag&bRD-JA8?NXi$HE#t*YaRoqe*sqT~Q5gl-{^T zAAi~Bt(4HsbWOrEO=!t41Vmn;XN%qG-dZHS4u@$c9 zBL_U0?hhVl%i~S*_aTjNMM`c(vfoR`hH|vR%!VtJ!W!qFgH-zASX|?1UMbyPSG2;6 zge$be8c9?GYBlEBsV7{~BaV0-QH_gihkq-!PqA9W9`A})6r&mmXnVpHmxzC;yM7zi z=!t6F$!1)mOC0g;(Tc)&GZxpli@BM3F#Z8sBU>>Xu4su9VU43&!kKWzQ6aTGGa9aF zW+AjaGajyJWFfS@_RAX~Z#rBd7(M-_C*V}LBKtS)+Mc1;X2KQ4dr8_J zk~857?XZScxI!+%T7A_$ZWge~X)CrIu8{Apa_ZitYKAMcy_8i9SLk^E0S<{;F7d6$ Qi2wiq07*qoM6N<$f{%p+Hvj+t literal 2725 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 diff --git a/public/images/pokemon/exp/back/shiny/1001.json b/public/images/pokemon/exp/back/shiny/1001.json index 1ea21ec6995..cf2dd09815d 100644 --- a/public/images/pokemon/exp/back/shiny/1001.json +++ b/public/images/pokemon/exp/back/shiny/1001.json @@ -1,272 +1,140 @@ { - "textures": [ - { - "image": "1001.png", - "format": "RGBA8888", - "size": { - "w": 237, - "h": 237 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 79, - "h": 79 - }, - "frame": { - "x": 0, - "y": 0, - "w": 79, - "h": 79 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 79, - "h": 78 - }, - "frame": { - "x": 79, - "y": 0, - "w": 79, - "h": 78 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 79, - "h": 78 - }, - "frame": { - "x": 79, - "y": 0, - "w": 79, - "h": 78 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 79, - "h": 76 - }, - "frame": { - "x": 158, - "y": 0, - "w": 79, - "h": 76 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 3, - "w": 79, - "h": 76 - }, - "frame": { - "x": 158, - "y": 0, - "w": 79, - "h": 76 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 79, - "h": 75 - }, - "frame": { - "x": 158, - "y": 76, - "w": 79, - "h": 75 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 4, - "w": 79, - "h": 75 - }, - "frame": { - "x": 158, - "y": 76, - "w": 79, - "h": 75 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 79, - "h": 74 - }, - "frame": { - "x": 79, - "y": 78, - "w": 79, - "h": 74 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 79, - "h": 74 - }, - "frame": { - "x": 79, - "y": 78, - "w": 79, - "h": 74 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 79, - "h": 73 - }, - "frame": { - "x": 0, - "y": 79, - "w": 79, - "h": 73 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 6, - "w": 79, - "h": 73 - }, - "frame": { - "x": 0, - "y": 79, - "w": 79, - "h": 73 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 79, - "h": 79 - }, - "spriteSourceSize": { - "x": 0, - "y": 7, - "w": 79, - "h": 72 - }, - "frame": { - "x": 158, - "y": 151, - "w": 79, - "h": 72 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:83b74b0673ef1ae8346efab60ae89872:f76c930177bf7a296d3f47eb6294ae4f:c8a3fc07f857e38a4f887e43523aab92$" + "textures":[ + { + "image": "1001.png", + "format": "RGBA8888", + "size": { "w": 161, "h": 157 }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0002.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0003.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 79, "h": 79 }, + "frame": { "x": 80, "y": 78, "w": 79, "h": 79 } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0007.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 80, "h": 78 }, + "frame": { "x": 0, "y": 79, "w": 80, "h": 78 } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0012.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 1, "w": 81, "h": 78 }, + "frame": { "x": 80, "y": 0, "w": 81, "h": 78 } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + }, + { + "filename": "0016.png", + "rotated": false, + "trimmed": true, + "sourceSize": { "w": 81, "h": 79 }, + "spriteSourceSize": { "x": 0, "y": 0, "w": 80, "h": 79 }, + "frame": { "x": 0, "y": 0, "w": 80, "h": 79 } + } + ]}], + "meta": {"app": "https://www.aseprite.org/","version": "1.3.7-x64" } } diff --git a/public/images/pokemon/exp/back/shiny/1001.png b/public/images/pokemon/exp/back/shiny/1001.png index 6d04c70dbb87307be9a7b3f64c11cbd248dc0f9f..2fd3e5fecd9b11a0e5056b616b31af3bf8f31aa0 100644 GIT binary patch literal 2678 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 literal 2708 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 Date: Sat, 3 Aug 2024 04:14:09 +0200 Subject: [PATCH 10/33] [Localization] Small batch of missing French entires (#3309) * Update trainers.ts * Update bgm-name.ts * Update bgm-name.ts --- src/locales/fr/bgm-name.ts | 18 +++++++++--------- src/locales/fr/trainers.ts | 6 +++++- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/locales/fr/bgm-name.ts b/src/locales/fr/bgm-name.ts index c6453a919cf..da344fe001e 100644 --- a/src/locales/fr/bgm-name.ts +++ b/src/locales/fr/bgm-name.ts @@ -74,16 +74,16 @@ export const bgmName: SimpleTranslationEntries = { "battle_wild": "NB - Vs. Pokémon sauvage", "battle_wild_strong": "NB - Vs. Pokémon puissant sauvage", "end_summit": "PDM ÉSDX - Tour Céleste", - "battle_rocket_grunt": "HGSS Team Rocket Battle", - "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle", - "battle_galactic_grunt": "BDSP Team Galactic Battle", + "battle_rocket_grunt": "HGSS Vs. Team Rocket", + "battle_aqua_magma_grunt": "ROSA Vs. Team Aqua/Magma", + "battle_galactic_grunt": "DÉPS Vs. Team Galaxie", "battle_plasma_grunt": "NB - Vs. Team Plasma", - "battle_flare_grunt": "XY Team Flare Battle", - "battle_rocket_boss": "USUM Giovanni Battle", - "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle", - "battle_galactic_boss": "BDSP Cyrus Battle", - "battle_plasma_boss": "B2W2 Ghetsis Battle", - "battle_flare_boss": "XY Lysandre Battle", + "battle_flare_grunt": "XY - Vs. Team Flare", + "battle_rocket_boss": "USUL - Vs. Giovanni", + "battle_aqua_magma_boss": "ROSA - Vs. Max/Arthur", + "battle_galactic_boss": "DÉPS - Vs. Hélio", + "battle_plasma_boss": "N2B2 - Vs. Ghetis", + "battle_flare_boss": "XY - Vs. Lysandre", // Biome Music "abyss": "PDM EdS - Cratère Obscur", diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index bc2a959c428..263c1f6792a 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -271,7 +271,11 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "Tarak", "rival": "Gwenaël", //Male breton name, a celtic language spoken in Brittany (France) and related to the word for "white" (gwenn). Finn meaning is also "white" in irish/goidelic which are also celtic languages. "rival_female": "Papina", //Litteral translation of ivy, also used as Female name in a North-American indigenous language - + "maxie": "Max", + "archie": "Arthur", + "cyrus": "Hélios", + "ghetsis": "Ghetis", + "lysandre": "Lysandre", // Double Names "blue_red_double": "Blue & Red", From fc8b708785634ee6775f739426464eedb7a9faa7 Mon Sep 17 00:00:00 2001 From: Opaque02 <66582645+Opaque02@users.noreply.github.com> Date: Sat, 3 Aug 2024 12:27:54 +1000 Subject: [PATCH 11/33] [Misc] Tandemaus evolves into 3 family form at a rate of 25% (#2738) --- src/data/pokemon-evolutions.ts | 5 +++ src/data/pokemon-species.ts | 4 +-- src/test/evolutions/evolutions.test.ts | 48 ++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 src/test/evolutions/evolutions.test.ts diff --git a/src/data/pokemon-evolutions.ts b/src/data/pokemon-evolutions.ts index 696cf006ad0..236d174492f 100644 --- a/src/data/pokemon-evolutions.ts +++ b/src/data/pokemon-evolutions.ts @@ -1145,6 +1145,11 @@ export const pokemonEvolutions: PokemonEvolutions = { new SpeciesEvolution(Species.PAWMOT, 32, null, null) ], [Species.TANDEMAUS]: [ + new SpeciesFormEvolution(Species.MAUSHOLD, "", "three", 25, null, new SpeciesEvolutionCondition(p => { + let ret = false; + p.scene.executeWithSeedOffset(() => ret = !Utils.randSeedInt(4), p.id); + return ret; + })), new SpeciesEvolution(Species.MAUSHOLD, 25, null, null) ], [Species.FIDOUGH]: [ diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 77134cca190..eb2ad358c65 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -2459,8 +2459,8 @@ export function initSpecies() { new PokemonSpecies(Species.PAWMOT, 9, false, false, false, "Hands-On Pokémon", Type.ELECTRIC, Type.FIGHTING, 0.9, 41, Abilities.VOLT_ABSORB, Abilities.NATURAL_CURE, Abilities.IRON_FIST, 490, 70, 115, 70, 70, 60, 105, 45, 50, 245, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.TANDEMAUS, 9, false, false, false, "Couple Pokémon", Type.NORMAL, null, 0.3, 1.8, Abilities.RUN_AWAY, Abilities.PICKUP, Abilities.OWN_TEMPO, 305, 50, 50, 45, 40, 45, 75, 150, 50, 61, GrowthRate.FAST, null, false), new PokemonSpecies(Species.MAUSHOLD, 9, false, false, false, "Family Pokémon", Type.NORMAL, null, 0.3, 2.3, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165, GrowthRate.FAST, null, false, false, - new PokemonForm("Family of Four", "four", Type.NORMAL, null, 0.3, 2.3, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), - new PokemonForm("Family of Three", "three", Type.NORMAL, null, 0.3, 2.8, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), + new PokemonForm("Family of Four", "four", Type.NORMAL, null, 0.3, 2.8, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), + new PokemonForm("Family of Three", "three", Type.NORMAL, null, 0.3, 2.3, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), ), new PokemonSpecies(Species.FIDOUGH, 9, false, false, false, "Puppy Pokémon", Type.FAIRY, null, 0.3, 10.9, Abilities.OWN_TEMPO, Abilities.NONE, Abilities.KLUTZ, 312, 37, 55, 70, 30, 55, 65, 190, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(Species.DACHSBUN, 9, false, false, false, "Dog Pokémon", Type.FAIRY, null, 0.5, 14.9, Abilities.WELL_BAKED_BODY, Abilities.NONE, Abilities.AROMA_VEIL, 477, 57, 80, 115, 50, 80, 95, 90, 50, 167, GrowthRate.MEDIUM_SLOW, 50, false), diff --git a/src/test/evolutions/evolutions.test.ts b/src/test/evolutions/evolutions.test.ts new file mode 100644 index 00000000000..4e38e72bb7c --- /dev/null +++ b/src/test/evolutions/evolutions.test.ts @@ -0,0 +1,48 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import Phaser from "phaser"; +import GameManager from "#app/test/utils/gameManager"; +import { Species } from "#enums/species"; +import * as Utils from "#app/utils"; + +describe("Evolution tests", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + }); + + it("tandemaus evolution form test", async () => { + /* this test checks to make sure that tandemaus will + * evolve into a 3 family maushold 25% of the time + * and a 4 family maushold the other 75% of the time + * This is done by using the getEvolution method in pokemon.ts + * getEvolution will give back the form that the pokemon can evolve into + * It does this by checking the pokemon conditions in pokemon-forms.ts + * For tandemaus, the conditions are random due to a randSeedInt(4) + * If the value is 0, it's a 3 family maushold, whereas if the value is + * 1, 2 or 3, it's a 4 family maushold + */ + await game.startBattle([Species.TANDEMAUS]); // starts us off with a tandemaus + const playerPokemon = game.scene.getPlayerPokemon(); + playerPokemon.level = 25; // tandemaus evolves at level 25 + vi.spyOn(Utils, "randSeedInt").mockReturnValue(0); // setting the random generator to be 0 to force a three family maushold + const threeForm = playerPokemon.getEvolution(); + expect(threeForm.evoFormKey).toBe("three"); // as per pokemon-forms, the evoFormKey for 3 family mausholds is "three" + for (let f = 1; f < 4; f++) { + vi.spyOn(Utils, "randSeedInt").mockReturnValue(f); // setting the random generator to 1, 2 and 3 to force 4 family mausholds + const fourForm = playerPokemon.getEvolution(); + expect(fourForm.evoFormKey).toBe(null); // meanwhile, according to the pokemon-forms, the evoFormKey for a 4 family maushold is null + } + }, 5000); +}); From e1812466a839d8edfd442f15bd2696d822a2963e Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Fri, 2 Aug 2024 19:29:07 -0700 Subject: [PATCH 12/33] [Bug] Weather should be reset upon arena reset (#3301) * `resetArenaEffects()` should also reset weather * Update function doc --- src/field/arena.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/field/arena.ts b/src/field/arena.ts index efbcdcd6727..cb045cc76ac 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -639,9 +639,13 @@ export class Arena { } /** - * Clears terrain and arena tags when entering new biome or trainer battle. + * Clears weather, terrain and arena tags when entering new biome or trainer battle. */ resetArenaEffects(): void { + // Don't reset weather if a Biome's permanent weather is active + if (this.weather?.turnsLeft !== 0) { + this.trySetWeather(WeatherType.NONE, false); + } this.trySetTerrain(TerrainType.NONE, false, true); this.removeAllTags(); } From 3055d4500fc7dad886190eadcc9f400823d90a38 Mon Sep 17 00:00:00 2001 From: allen925 <62000482+allen925@users.noreply.github.com> Date: Fri, 2 Aug 2024 19:30:50 -0700 Subject: [PATCH 13/33] [Test] added revive function in gameManager & a double-battle test (#3298) * added revive function in gamaManager & a double-battle test * extended timeout of double battle test referencing to battle test * less code, deleted unused param, clearer description of test * add back dbond to move in test * more straight forward testing * reverse back override * polish double battle test a bit --- src/test/battle/double_battle.test.ts | 64 +++++++++++++++++++++++++++ src/test/utils/gameManager.ts | 12 +++++ 2 files changed, 76 insertions(+) create mode 100644 src/test/battle/double_battle.test.ts diff --git a/src/test/battle/double_battle.test.ts b/src/test/battle/double_battle.test.ts new file mode 100644 index 00000000000..e2d8dee562c --- /dev/null +++ b/src/test/battle/double_battle.test.ts @@ -0,0 +1,64 @@ +import { + BattleEndPhase, + TurnInitPhase, +} from "#app/phases"; +import GameManager from "#app/test/utils/gameManager"; +import { getMovePosition, } from "#app/test/utils/gameManagerUtils"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; +import { SPLASH_ONLY } from "../utils/testUtils"; +import { Status, StatusEffect } from "#app/data/status-effect.js"; + +describe("Test Battle Phase", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + }); + + // double-battle player's pokemon both fainted in same round, then revive one, and next double battle summons two player's pokemon successfully. + // (There were bugs that either only summon one when can summon two, player stuck in switchPhase etc) + it("3v2 edge case: player summons 2 pokemon on the next battle after being fainted and revived", async() => { + game.override.battleType("double").enemyMoveset(SPLASH_ONLY).moveset(SPLASH_ONLY); + await game.startBattle([ + Species.BULBASAUR, + Species.CHARIZARD, + Species.SQUIRTLE, + ]); + + game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); + game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH)); + + for (const pokemon of game.scene.getPlayerField()) { + expect(pokemon).toBeDefined(); + + pokemon.hp = 0; + pokemon.status = new Status(StatusEffect.FAINT); + expect(pokemon.isFainted()).toBe(true); + } + + await game.doKillOpponents(); + + await game.phaseInterceptor.to(BattleEndPhase); + game.doSelectModifier(); + + const charizard = game.scene.getParty().findIndex(p => p.species.speciesId === Species.CHARIZARD); + game.doRevivePokemon(charizard); + + await game.phaseInterceptor.to(TurnInitPhase); + expect(game.scene.getPlayerField().filter(p => !p.isFainted())).toHaveLength(2); + }, 20000); +}); diff --git a/src/test/utils/gameManager.ts b/src/test/utils/gameManager.ts index d491e007940..1938d57dfd1 100644 --- a/src/test/utils/gameManager.ts +++ b/src/test/utils/gameManager.ts @@ -35,6 +35,7 @@ import { Button } from "#enums/buttons"; import { BattlerIndex } from "#app/battle.js"; import TargetSelectUiHandler from "#app/ui/target-select-ui-handler.js"; import { OverridesHelper } from "./overridesHelper"; +import { ModifierTypeOption, modifierTypes } from "#app/modifier/modifier-type.js"; /** * Class to manage the game state and transitions between phases. @@ -328,4 +329,15 @@ export default class GameManager { (this.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.POKEMON, pokemonIndex, false); }); } + + /** + * Revive pokemon, currently player's only. + * @param pokemonIndex the index of the pokemon in your party to revive + */ + doRevivePokemon(pokemonIndex: number) { + const party = this.scene.getParty(); + const candidate = new ModifierTypeOption(modifierTypes.MAX_REVIVE(), 0); + const modifier = candidate.type.newModifier(party[pokemonIndex]); + this.scene.addModifier(modifier, false); + } } From ec27c14035a7dcd4112d9b7e79d16f0860a9c49d Mon Sep 17 00:00:00 2001 From: Enoch Date: Sat, 3 Aug 2024 11:41:55 +0900 Subject: [PATCH 14/33] [Localization] add missed move trigger and remove getPokemonMessage (#3281) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * localize missed move-trigger message and remove redundant getPokemonMessage * Update src/locales/zh_CN/move-trigger.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/zh_TW/move-trigger.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/de/move-trigger.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/data/move.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/de/move-trigger.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/zh_TW/move-trigger.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/zh_CN/move-trigger.ts Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> * Update src/locales/fr/move-trigger.ts Co-authored-by: Lugiad' * Update src/locales/it/move-trigger.ts Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com> * Revert "Update src/data/move.ts" This reverts commit 4dd6130c3918ade2cda3c61c3529020b779bda38. * fix italian param error * Update src/locales/de/move-trigger.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/de/move-trigger.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/pt_BR/move-trigger.ts Co-authored-by: José Ricardo Fleury Oliveira --------- Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com> Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: Lugiad' Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com> Co-authored-by: José Ricardo Fleury Oliveira --- src/data/move.ts | 20 ++++++++++---------- src/locales/de/move-trigger.ts | 10 +++++++++- src/locales/en/move-trigger.ts | 10 +++++++++- src/locales/es/move-trigger.ts | 10 +++++++++- src/locales/fr/move-trigger.ts | 10 +++++++++- src/locales/it/move-trigger.ts | 10 +++++++++- src/locales/ko/move-trigger.ts | 10 +++++++++- src/locales/pt_BR/move-trigger.ts | 10 +++++++++- src/locales/zh_CN/move-trigger.ts | 10 +++++++++- src/locales/zh_TW/move-trigger.ts | 10 +++++++++- src/messages.ts | 11 ----------- 11 files changed, 91 insertions(+), 30 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index f90aef585d6..09cd03e542e 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2,7 +2,7 @@ import { ChargeAnim, MoveChargeAnim, initMoveAnim, loadMoveAnimAssets } from "./ import { BattleEndPhase, MoveEndPhase, MovePhase, NewBattlePhase, PartyStatusCurePhase, PokemonHealPhase, StatChangePhase, SwitchSummonPhase } from "../phases"; import { BattleStat, getBattleStatName } from "./battle-stat"; import { EncoreTag, HelpingHandTag, SemiInvulnerableTag, StockpilingTag, TypeBoostTag } from "./battler-tags"; -import { getPokemonMessage, getPokemonNameWithAffix } from "../messages"; +import { getPokemonNameWithAffix } from "../messages"; import Pokemon, { AttackMoveResult, EnemyPokemon, HitResult, MoveResult, PlayerPokemon, PokemonMove, TurnMove } from "../field/pokemon"; import { StatusEffect, getStatusEffectHealText, isNonVolatileStatusEffect, getNonVolatileStatusEffects} from "./status-effect"; import { getTypeResistances, Type } from "./type"; @@ -1388,7 +1388,7 @@ export class HealAttr extends MoveEffectAttr { */ addHealPhase(target: Pokemon, healRatio: number) { target.scene.unshiftPhase(new PokemonHealPhase(target.scene, target.getBattlerIndex(), - Math.max(Math.floor(target.getMaxHp() * healRatio), 1), getPokemonMessage(target, " \nhad its HP restored."), true, !this.showAnim)); + Math.max(Math.floor(target.getMaxHp() * healRatio), 1), i18next.t("moveTriggers:healHp", {pokemonName: getPokemonNameWithAffix(target)}), true, !this.showAnim)); } getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer { @@ -1482,7 +1482,7 @@ export class SacrificialFullRestoreAttr extends SacrificialAttr { const maxPartyMemberHp = user.scene.getParty().map(p => p.getMaxHp()).reduce((maxHp: integer, hp: integer) => Math.max(hp, maxHp), 0); user.scene.pushPhase(new PokemonHealPhase(user.scene, user.getBattlerIndex(), - maxPartyMemberHp, getPokemonMessage(user, "'s Healing Wish\nwas granted!"), true, false, false, true), true); + maxPartyMemberHp, i18next.t("moveTriggers:sacrificialFullRestore", {pokemonName: getPokemonNameWithAffix(user)}), true, false, false, true), true); return true; } @@ -2712,7 +2712,7 @@ export class InvertStatsAttr extends MoveEffectAttr { target.updateInfo(); user.updateInfo(); - target.scene.queueMessage(getPokemonMessage(target, "'s stat changes\nwere all reversed!")); + target.scene.queueMessage(i18next.t("moveTriggers:invertStats", {pokemonName: getPokemonNameWithAffix(target)})); return true; } @@ -2730,7 +2730,7 @@ export class ResetStatsAttr extends MoveEffectAttr { target.updateInfo(); user.updateInfo(); - target.scene.queueMessage(getPokemonMessage(target, "'s stat changes\nwere eliminated!")); + target.scene.queueMessage(i18next.t("moveTriggers:resetStats", {pokemonName: getPokemonNameWithAffix(target)})); return true; } @@ -4138,7 +4138,7 @@ export class DisableMoveAttr extends MoveEffectAttr { target.summonData.disabledMove = disabledMove.moveId; target.summonData.disabledTurns = 4; - user.scene.queueMessage(getPokemonMessage(target, `'s ${disabledMove.getName()}\nwas disabled!`)); + user.scene.queueMessage(i18next.t("abilityTriggers:postDefendMoveDisable", { pokemonNameWithAffix: getPokemonNameWithAffix(target), moveName: disabledMove.getName()})); return true; } @@ -4445,7 +4445,7 @@ export class FaintCountdownAttr extends AddBattlerTagAttr { return false; } - user.scene.queueMessage(getPokemonMessage(target, `\nwill faint in ${this.turnCountMin - 1} turns.`)); + user.scene.queueMessage(i18next.t("moveTriggers:faintCountdown", {pokemonName: getPokemonNameWithAffix(target), turnCount: this.turnCountMin - 1})); return true; } @@ -4685,7 +4685,7 @@ export class SwapArenaTagsAttr extends MoveEffectAttr { } - user.scene.queueMessage( `${getPokemonNameWithAffix(user)} swapped the battle effects affecting each side of the field!`); + user.scene.queueMessage( i18next.t("moveTriggers:swapArenaTags", {pokemonName: getPokemonNameWithAffix(user)})); return true; } } @@ -4917,7 +4917,7 @@ export class CopyTypeAttr extends MoveEffectAttr { user.summonData.types = target.getTypes(true); user.updateInfo(); - user.scene.queueMessage(getPokemonMessage(user, `'s type\nchanged to match ${getPokemonNameWithAffix(target)}'s!`)); + user.scene.queueMessage(i18next.t("moveTriggers:copyType", {pokemonName: getPokemonNameWithAffix(user), targetPokemonName: getPokemonNameWithAffix(target)})); return true; } @@ -5598,7 +5598,7 @@ export class SuppressAbilitiesAttr extends MoveEffectAttr { target.summonData.abilitySuppressed = true; - target.scene.queueMessage(getPokemonMessage(target, "'s ability\nwas suppressed!")); + target.scene.queueMessage(i18next.t("moveTriggers:suppressAbilities", {pokemonName: getPokemonNameWithAffix(target)})); return true; } diff --git a/src/locales/de/move-trigger.ts b/src/locales/de/move-trigger.ts index 0dc88931282..cc5411af339 100644 --- a/src/locales/de/move-trigger.ts +++ b/src/locales/de/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}} verwandelt sich in {{targetName}}!", "tryingToTakeFoeDown": "{{pokemonName}} versucht, den Angreifer mit sich zu nehmen!", "addType": "{{pokemonName}} nimmt zusätzlich den Typ {{typeName}} an!", - "cannotUseMove": "{{pokemonName}} kann {{moveName}} nicht einsetzen!" + "cannotUseMove": "{{pokemonName}} kann {{moveName}} nicht einsetzen!", + "healHp": "KP von {{pokemonName}} wurden aufgefrischt!", + "sacrificialFullRestore": "Das Heilopfer von {{pokemonName}} erreicht sein Ziel!", + "invertStats": "Alle Statusveränderungen von {{pokemonName}} wurden invertiert!", + "resetStats": "Die Statusveränderungen von {{pokemonName}} wurden aufgehoben!", + "faintCountdown": "{{pokemonName}} geht nach {{turnCount}} Runden K.O.!", + "copyType": "{{pokemonName}} hat den Typ von {{targetPokemonName}} angenommen!", + "suppressAbilities": "Die Fähigkeit von {{pokemonName}} wirkt nicht mehr!", + "swapArenaTags": "{{pokemonName}} hat die Effekte, die auf den beiden Seiten des Kampffeldes wirken, miteinander getauscht!", } as const; diff --git a/src/locales/en/move-trigger.ts b/src/locales/en/move-trigger.ts index 18427f59b59..1d9d6459d83 100644 --- a/src/locales/en/move-trigger.ts +++ b/src/locales/en/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}} transformed\ninto {{targetName}}!", "tryingToTakeFoeDown": "{{pokemonName}} is hoping to take its attacker down with it!", "addType": "{{typeName}} was added to\n{{pokemonName}}!", - "cannotUseMove": "{{pokemonName}} cannot use {{moveName}}!" + "cannotUseMove": "{{pokemonName}} cannot use {{moveName}}!", + "healHp": "{{pokemonName}} had its HP restored.", + "sacrificialFullRestore": "{{pokemonName}}'s Healing Wish\nwas granted!", + "invertStats": "{{pokemonName}}'s stat changes\nwere all reversed!", + "resetStats": "{{pokemonName}}'s stat changes\nwere eliminated!", + "faintCountdown": "{{pokemonName}}\nwill faint in {{turnCount}} turns.", + "copyType": "{{pokemonName}}'s type became the same as\n{{targetPokemonName}}'s type!", + "suppressAbilities": "{{pokemonName}}'s ability\nwas suppressed!", + "swapArenaTags": "{{pokemonName}} swapped the battle effects affecting each side of the field!", } as const; diff --git a/src/locales/es/move-trigger.ts b/src/locales/es/move-trigger.ts index 18427f59b59..3ff93997cc2 100644 --- a/src/locales/es/move-trigger.ts +++ b/src/locales/es/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}} transformed\ninto {{targetName}}!", "tryingToTakeFoeDown": "{{pokemonName}} is hoping to take its attacker down with it!", "addType": "{{typeName}} was added to\n{{pokemonName}}!", - "cannotUseMove": "{{pokemonName}} cannot use {{moveName}}!" + "cannotUseMove": "{{pokemonName}} cannot use {{moveName}}!", + "healHp": "{{pokemonName}} had its HP restored.", + "sacrificialFullRestore": "{{pokemonName}}'s Healing Wish\nwas granted!", + "invertStats": "{{pokemonName}}'s stat changes\nwere all reversed!", + "resetStats": "{{pokemonName}}'s stat changes\nwere eliminated!", + "faintCountdown": "{{pokemonName}}\nwill faint in {{turnCount}} turns.", + "copyType": "{{pokemonName}}'s type\nchanged to match {{targetPokemonName}}'s!", + "suppressAbilities": "{{pokemonName}}'s ability\nwas suppressed!", + "swapArenaTags": "{{pokemonName}} swapped the battle effects affecting each side of the field!", } as const; diff --git a/src/locales/fr/move-trigger.ts b/src/locales/fr/move-trigger.ts index 7f6d25459da..d1fbda50b03 100644 --- a/src/locales/fr/move-trigger.ts +++ b/src/locales/fr/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}} prend\nl’apparence de {{targetName}} !", "tryingToTakeFoeDown": "{{pokemonName}} veut entrainer\nson assaillant dans sa chute !", "addType": "{{pokemonName}} gagne\nle type {{typeName}}.", - "cannotUseMove": "{{pokemonName}} ne peut pas\nutiliser la capacité {{moveName}} !" + "cannotUseMove": "{{pokemonName}} ne peut pas\nutiliser la capacité {{moveName}} !", + "healHp": "{{pokemonName}}\nrécupère des PV !", + "sacrificialFullRestore": "Le Vœu Soin est exaucé et profite\nà {{pokemonName}} !", + "invertStats": "Les changements de stats\nde {{pokemonName}} sont inversés !", + "resetStats": "Les changements de stats\nde {{pokemonName}} ont tous été annulés !", + "faintCountdown": "{{pokemonName}}\nsera K.O. dans {{turnCount}} tours !", + "copyType": "{{pokemonName}} prend le type\nde {{targetPokemonName}} !", + "suppressAbilities": "Le talent de {{pokemonName}}\na été rendu inactif !", + "swapArenaTags": "Les effets affectant chaque côté du terrain\nont été échangés par {{pokemonName}} !", } as const; diff --git a/src/locales/it/move-trigger.ts b/src/locales/it/move-trigger.ts index 645d62ef1a6..60679d844c0 100644 --- a/src/locales/it/move-trigger.ts +++ b/src/locales/it/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}} assume le sembianze\ndi {{targetName}}!", "tryingToTakeFoeDown": "{{pokemonName}} tenta di far subire a chi lo manda KO la sua stessa sorte!", "addType": "Adesso {{pokemonName}} è anche\ndi tipo {{typeName}}!", - "cannotUseMove": "{{pokemonName}} non può usare {{moveName}}!" + "cannotUseMove": "{{pokemonName}} non può usare {{moveName}}!", + "healHp": "{{pokemonName}} ha recuperato dei PS.", + "sacrificialFullRestore": "{{pokemonName}} riceve i benefici\neffetti di Curardore!", + "invertStats": "Le modifiche alle statistiche di {{pokemonName}}\nvengono invertite!", + "resetStats": "Tutte le modifiche alle statistiche sono state annullate!", + "faintCountdown": "{{pokemonName}}\nandrà KO dopo {{turnCount}} turni.", + "copyType": "{{pokemonName}} assume il tipo\ndi {{targetPokemonName}}!", + "suppressAbilities": "L’abilità di {{pokemonName}}\nperde ogni efficacia!", + "swapArenaTags": "{{pokemonName}} ha invertito gli effetti attivi\nnelle due metà del campo!", } as const; diff --git a/src/locales/ko/move-trigger.ts b/src/locales/ko/move-trigger.ts index 437f2fc6d15..9ebf08b1017 100644 --- a/src/locales/ko/move-trigger.ts +++ b/src/locales/ko/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}}[[는]]\n{{targetName}}[[로]] 변신했다!", "tryingToTakeFoeDown": "{{pokemonName}}[[는]] 상대를\n길동무로 삼으려 하고 있다!", "addType": "{{pokemonName}}에게\n{{typeName}}타입이 추가되었다!", - "cannotUseMove": "{{pokemonName}}[[는]]\n{{moveName}}[[를]] 쓸 수 없다!" + "cannotUseMove": "{{pokemonName}}[[는]]\n{{moveName}}[[를]] 쓸 수 없다!", + "healHp": "{{pokemonName}}의\n체력이 회복되었다!", + "sacrificialFullRestore": "{{pokemonName}}의\n치유소원이 이루어졌다!", + "invertStats": "{{pokemonName}}[[는]]\n능력 변화가 뒤집혔다!", + "resetStats": "{{pokemonName}}의 모든 상태가\n원래대로 되돌아왔다!", + "faintCountdown": "{{pokemonName}}[[는]]\n{{turnCount}}턴 후에 쓰러져 버린다!", + "copyType": "{{pokemonName}}[[는]]\n{{targetPokemonName}}[[와]] 같은 타입이 되었다!", + "suppressAbilities": "{{pokemonName}}의\n특성이 효과를 발휘하지 못하게 되었다!", + "swapArenaTags": "{{pokemonName}}[[는]]\n서로의 필드 효과를 교체했다!", } as const; diff --git a/src/locales/pt_BR/move-trigger.ts b/src/locales/pt_BR/move-trigger.ts index 272da44e1f6..c6f35d8f6d1 100644 --- a/src/locales/pt_BR/move-trigger.ts +++ b/src/locales/pt_BR/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}} se transformou\nem um(a) {{targetName}}!", "tryingToTakeFoeDown": "{{pokemonName}} está tentando derrubar o atacante com ele!", "addType": "{{pokemonName}} recebeu\no tipo {{typeName}}!", - "cannotUseMove": "{{pokemonName}} não pode usar {{moveName}}!" + "cannotUseMove": "{{pokemonName}} não pode usar {{moveName}}!", + "healHp": "{{pokemonName}} teve seus PS recuperados.", + "sacrificialFullRestore": "O Healing Wish de {{pokemonName}}\nfoi concedido!", + "invertStats": "As mudanças de atributo de {{pokemonName}}\nforam revertidas!", + "resetStats": "As mudanças de atributo de {{pokemonName}}\nforam eliminadas!", + "faintCountdown": "{{pokemonName}}\nirá desmaiar em {{turnCount}} turnos.", + "copyType": "O tipo de {{pokemonName}}\nmudou para combinar com {{targetPokemonName}}!", + "suppressAbilities": "A habilidade de {{pokemonName}}\nfoi suprimida!", + "swapArenaTags": "{{pokemonName}} trocou os efeitos de batalha que afetam cada lado do campo!", } as const; diff --git a/src/locales/zh_CN/move-trigger.ts b/src/locales/zh_CN/move-trigger.ts index 16d49f3f9e1..0efe24f76f0 100644 --- a/src/locales/zh_CN/move-trigger.ts +++ b/src/locales/zh_CN/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}}\n变身成了{{targetName}}!", "tryingToTakeFoeDown": "{{pokemonName}}\n想和对手同归于尽!", "addType": "{{pokemonName}}\n增加了{{typeName}}属性!", - "cannotUseMove": "{{pokemonName}}\n无法使用{{moveName}}!" + "cannotUseMove": "{{pokemonName}}\n无法使用{{moveName}}!", + "healHp": "{{pokemonName}}的\n体力回复了!", + "sacrificialFullRestore": "{{pokemonName}}的\n治愈之愿实现了!", + "invertStats": "{{pokemonName}}的\n能力变化颠倒过来了!", + "resetStats": "{{pokemonName}}的\n能力变化复原了!", + "faintCountdown": "{{pokemonName}}\n将在{{turnCount}}回合后灭亡!", + "copyType": "{{pokemonName}}\n变成了{{targetPokemonName}}的属性!", + "suppressAbilities": "{{pokemonName}}的特性\n变得无效了!", + "swapArenaTags": "{{pokemonName}}\n交换了双方的场地效果!", } as const; diff --git a/src/locales/zh_TW/move-trigger.ts b/src/locales/zh_TW/move-trigger.ts index 7e5f54538bc..019aa84390c 100644 --- a/src/locales/zh_TW/move-trigger.ts +++ b/src/locales/zh_TW/move-trigger.ts @@ -50,5 +50,13 @@ export const moveTriggers: SimpleTranslationEntries = { "transformedIntoTarget": "{{pokemonName}}\n變身成了{{targetName}}!", "tryingToTakeFoeDown": "{{pokemonName}}\n想和對手同歸於盡!", "addType": "{{pokemonName}}\n增加了{{typeName}}屬性!", - "cannotUseMove": "{{pokemonName}}\n無法使用{{moveName}}!" + "cannotUseMove": "{{pokemonName}}\n無法使用{{moveName}}!", + "healHp": "{{pokemonName}}的\n體力回復了!", + "sacrificialFullRestore": "{{pokemonName}}的\n治癒之願實現了!", + "invertStats": "{{pokemonName}}的\n能力變化顛倒過來了!", + "resetStats": "{{pokemonName}}的\n能力變化復原了!", + "faintCountdown": "{{pokemonName}}\n將在{{turnCount}}回合後滅亡!", + "copyType": "{{pokemonName}}變成了{{targetPokemonName}}的屬性!", + "suppressAbilities": "{{pokemonName}}的特性\n變得無效了!", + "swapArenaTags": "{{pokemonName}}\n交換了雙方的場地效果!", } as const; diff --git a/src/messages.ts b/src/messages.ts index 2259e78abfc..555a6f30ef1 100644 --- a/src/messages.ts +++ b/src/messages.ts @@ -2,17 +2,6 @@ import { BattleSpec } from "#enums/battle-spec"; import Pokemon from "./field/pokemon"; import i18next from "i18next"; -/** - * Builds a message by concatenating the Pokemon name with its potential affix and the given text - * @param pokemon {@linkcode Pokemon} name and battle context will be retrieved from this instance for {@linkcode getPokemonNameWithAffix} - * @param {string} content any text - * @returns {string} ex: "Wild Gengar fainted!", "Ectoplasma sauvage est K.O!" - * @see {@linkcode getPokemonNameWithAffix} for the Pokemon's name and potentiel affix - */ -export function getPokemonMessage(pokemon: Pokemon, content: string): string { - return `${getPokemonNameWithAffix(pokemon)}${content}`; -} - /** * Retrieves the Pokemon's name, potentially with an affix indicating its role (wild or foe) in the current battle context, translated * @param pokemon {@linkcode Pokemon} name and battle context will be retrieved from this instance From cdc482601876b939f73e6d434ac04d997b97eeb9 Mon Sep 17 00:00:00 2001 From: hayuna Date: Sat, 3 Aug 2024 21:09:06 +0200 Subject: [PATCH 15/33] [Localization] Update fr locales in challenge (#3319) --- src/locales/fr/challenges.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/fr/challenges.ts b/src/locales/fr/challenges.ts index d88960dbe3b..d37ee7dde49 100644 --- a/src/locales/fr/challenges.ts +++ b/src/locales/fr/challenges.ts @@ -2,7 +2,7 @@ import { TranslationEntries } from "#app/interfaces/locales"; export const challenges: TranslationEntries = { "title": "Paramètres du Challenge", - "illegalEvolution": "{{pokemon}} s’est transformé en Pokémon\ninéligible pour ce challenge !", + "illegalEvolution": "{{pokemon}} est devenu\ninéligible pour ce challenge !", "singleGeneration": { "name": "Mono-génération", "desc": "Vous ne pouvez choisir que des Pokémon de {{gen}} génération.", From 67babd0e83d47d0cc4af2ba05e1e63f3e1d9292b Mon Sep 17 00:00:00 2001 From: Lugiad Date: Sat, 3 Aug 2024 21:09:58 +0200 Subject: [PATCH 16/33] [Localization] Fresh Start challenge entries added to French locales (#3317) * Update achv.ts * Update challenges.ts * Update achv.ts --- src/locales/fr/achv.ts | 8 ++++++++ src/locales/fr/challenges.ts | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/locales/fr/achv.ts b/src/locales/fr/achv.ts index bc6a862942d..d5b80700493 100644 --- a/src/locales/fr/achv.ts +++ b/src/locales/fr/achv.ts @@ -264,6 +264,10 @@ export const PGMachv: AchievementTranslationEntries = { "MONO_FAIRY": { name: "Hey ! Listen !", }, + "FRESH_START": { + name: "Du premier coup !", + description: "Terminer un challenge « Nouveau départ »." + } } as const; // Achievement translations for the when the player character is female (it for now uses the same translations as the male version) @@ -530,4 +534,8 @@ export const PGFachv: AchievementTranslationEntries = { "MONO_FAIRY": { name: "Hey ! Listen !", }, + "FRESH_START": { + name: "Du premier coup !", + description: "Terminer un challenge « Nouveau départ »." + } } as const; diff --git a/src/locales/fr/challenges.ts b/src/locales/fr/challenges.ts index d37ee7dde49..694cc242e73 100644 --- a/src/locales/fr/challenges.ts +++ b/src/locales/fr/challenges.ts @@ -23,4 +23,10 @@ export const challenges: TranslationEntries = { "desc_default": "Vous ne pouvez choisir que des Pokémon du type sélectionné." //type in pokemon-info }, + "freshStart": { + "name": "Nouveau départ", + "desc": "Vous ne pouvez choisir que les starters de base du jeu, comme si vous le recommenciez.", + "value.0": "Non", + "value.1": "Oui", + } } as const; From 32496fa585f79124c69031ed2cf72c305d245382 Mon Sep 17 00:00:00 2001 From: Leo Kim <47556641+KimJeongSun@users.noreply.github.com> Date: Sun, 4 Aug 2024 04:11:05 +0900 Subject: [PATCH 17/33] [Misc] Move victini from gen 4 to gen 5 (#3306) --- src/data/challenge.ts | 9 +-------- src/data/pokemon-species.ts | 10 ++++++++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 701183e1733..7bea68e36c7 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -406,14 +406,7 @@ export class SingleGenerationChallenge extends Challenge { } applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder, dexAttr: DexAttrProps, soft: boolean = false, checkEvolutions?: boolean): boolean { - /** - * We have special code below for victini because it is classed as a generation 4 pokemon in the code - * despite being a generation 5 pokemon. This is due to UI constraints, the starter select screen has - * no more room for pokemon so victini is put in the gen 4 section instead. This code just overrides the - * normal generation check to correctly treat victini as gen 5. - */ - const starterGeneration = pokemon.speciesId === Species.VICTINI ? 5 : pokemon.generation; - const generations = [starterGeneration]; + const generations = [pokemon.generation]; const checkPokemonEvolutions = checkEvolutions ?? true as boolean; if (soft) { const speciesToCheck = [pokemon.speciesId]; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index eb2ad358c65..eb73c2f036b 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -312,7 +312,13 @@ export abstract class PokemonSpeciesForm { getIconAtlasKey(formIndex?: integer, shiny?: boolean, variant?: integer): string { const variantDataIndex = this.getVariantDataIndex(formIndex); const isVariant = shiny && variantData[variantDataIndex] && variantData[variantDataIndex][variant]; - return `pokemon_icons_${this.generation}${isVariant ? "v" : ""}`; + const species = getPokemonSpecies(this.speciesId); + /** + * Currently, Victini's icon sprite is located in Gen 4, so we will temporarily bypass this issue with the following code. + * In the future, when Victini's icon sprite is properly moved to Gen 5, the temporary code below should be removed. + */ + const generation = species.speciesId === Species.VICTINI ? 4 : this.generation; + return `pokemon_icons_${generation}${isVariant ? "v" : ""}`; } getIconId(female: boolean, formIndex?: integer, shiny?: boolean, variant?: integer): string { @@ -1671,7 +1677,7 @@ export function initSpecies() { new PokemonForm("Fairy", "fairy", Type.FAIRY, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 324), new PokemonForm("???", "unknown", Type.UNKNOWN, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 324), ), - new PokemonSpecies(Species.VICTINI, 4, false, false, true, "Victory Pokémon", Type.PSYCHIC, Type.FIRE, 0.4, 4, Abilities.VICTORY_STAR, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 100, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(Species.VICTINI, 5, false, false, true, "Victory Pokémon", Type.PSYCHIC, Type.FIRE, 0.4, 4, Abilities.VICTORY_STAR, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 100, 300, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.SNIVY, 5, false, false, false, "Grass Snake Pokémon", Type.GRASS, null, 0.6, 8.1, Abilities.OVERGROW, Abilities.NONE, Abilities.CONTRARY, 308, 45, 45, 55, 45, 55, 63, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.SERVINE, 5, false, false, false, "Grass Snake Pokémon", Type.GRASS, null, 0.8, 16, Abilities.OVERGROW, Abilities.NONE, Abilities.CONTRARY, 413, 60, 60, 75, 60, 75, 83, 45, 70, 145, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.SERPERIOR, 5, false, false, false, "Regal Pokémon", Type.GRASS, null, 3.3, 63, Abilities.OVERGROW, Abilities.NONE, Abilities.CONTRARY, 528, 75, 75, 95, 75, 95, 113, 45, 70, 238, GrowthRate.MEDIUM_SLOW, 87.5, false), From bb6ec94c02740bf1b977f784bd2c4b32767c8c0f Mon Sep 17 00:00:00 2001 From: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com> Date: Sat, 3 Aug 2024 15:12:32 -0400 Subject: [PATCH 18/33] [Sprite/Misc] Repo Icon cleanup (#3311) * [Sprite] Missing Gen 7 variant icons Taken from current icon spritesheet * [Sprite] Remove non-Gen 6 icon * Delete public/images/pokemon/icons/variant/6/742_3.png * Delete public/images/pokemon/icons/variant/6/743_2.png * Delete public/images/pokemon/icons/variant/6/743_3.png * Delete public/images/pokemon/icons/variant/6/777_2.png * Delete public/images/pokemon/icons/variant/6/777_3.png * Delete public/images/pokemon/icons/variant/6/779_2.png * Delete public/images/pokemon/icons/variant/6/779_3.png * Delete public/images/pokemon/icons/variant/6/354-mega_2.png * Delete public/images/pokemon/icons/variant/6/354-mega_3.png * [Sprite] Missing Mega Banette variant icons Taken from the Gen 6 variant icon folder * [Sprite] Missing Poltchageist/Sinistcha form icons Renamed duplicates of alternate forms --- public/images/pokemon/icons/9/1012-artisan.png | Bin 0 -> 353 bytes public/images/pokemon/icons/9/1012s-artisan.png | Bin 0 -> 359 bytes .../images/pokemon/icons/9/1013-masterpiece.png | Bin 0 -> 346 bytes .../images/pokemon/icons/9/1013s-masterpiece.png | Bin 0 -> 352 bytes .../pokemon/icons/variant/{6 => 3}/354-mega_2.png | Bin .../pokemon/icons/variant/{6 => 3}/354-mega_3.png | Bin .../pokemon/icons/variant/{6 => 7}/742_2.png | Bin .../pokemon/icons/variant/{6 => 7}/742_3.png | Bin .../pokemon/icons/variant/{6 => 7}/743_2.png | Bin .../pokemon/icons/variant/{6 => 7}/743_3.png | Bin .../pokemon/icons/variant/{6 => 7}/777_2.png | Bin .../pokemon/icons/variant/{6 => 7}/777_3.png | Bin .../pokemon/icons/variant/7/778-busted_2.png | Bin 0 -> 471 bytes .../pokemon/icons/variant/7/778-busted_3.png | Bin 0 -> 482 bytes .../pokemon/icons/variant/{6 => 7}/779_2.png | Bin .../pokemon/icons/variant/{6 => 7}/779_3.png | Bin 16 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/pokemon/icons/9/1012-artisan.png create mode 100644 public/images/pokemon/icons/9/1012s-artisan.png create mode 100644 public/images/pokemon/icons/9/1013-masterpiece.png create mode 100644 public/images/pokemon/icons/9/1013s-masterpiece.png rename public/images/pokemon/icons/variant/{6 => 3}/354-mega_2.png (100%) rename public/images/pokemon/icons/variant/{6 => 3}/354-mega_3.png (100%) rename public/images/pokemon/icons/variant/{6 => 7}/742_2.png (100%) rename public/images/pokemon/icons/variant/{6 => 7}/742_3.png (100%) rename public/images/pokemon/icons/variant/{6 => 7}/743_2.png (100%) rename public/images/pokemon/icons/variant/{6 => 7}/743_3.png (100%) rename public/images/pokemon/icons/variant/{6 => 7}/777_2.png (100%) rename public/images/pokemon/icons/variant/{6 => 7}/777_3.png (100%) create mode 100644 public/images/pokemon/icons/variant/7/778-busted_2.png create mode 100644 public/images/pokemon/icons/variant/7/778-busted_3.png rename public/images/pokemon/icons/variant/{6 => 7}/779_2.png (100%) rename public/images/pokemon/icons/variant/{6 => 7}/779_3.png (100%) diff --git a/public/images/pokemon/icons/9/1012-artisan.png b/public/images/pokemon/icons/9/1012-artisan.png new file mode 100644 index 0000000000000000000000000000000000000000..96a215e47de5e9957386a0bfacd359a7ade64d35 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a?}HSLR=LT z6m~3``Tx&{prD}Q;^Ni|`Hyd3`uk%3|6k9iOqmihC+679c%WJjV*wK&#aj~O7yKUy zFxb9OY6D7~_jGX#vFN=!>7dYI1r8T+M`_=G|EqV;I1|$Qvf{!#Q)5n<_IRQT2}S7SKMuaK*?#%PR@g$SSD#NZJNpb+wr_#3N&mt5(@_M7K@)KJ(G8oi{|! qcjX?r=btEak-(R+8&MZUud9IpCYMq7XXzb~6LdDYf#{%R@T+^%-+j*5J# zf6^?|4w|c+|^_0KGDyfDK_L5=yda7N5IQJ-xqwp|gwuDL2j_v_Io z7F(nia&LIX=fbP46#re|^dZIk?)D&vGNb<$UXo@4NI^>bP0l+XkKtCXJa literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/9/1013-masterpiece.png b/public/images/pokemon/icons/9/1013-masterpiece.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5ee1fddd13c795c6ded324a9c3f3c2dc74a409 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<^!3-obnb*7rQjEnx?oJHr&dIz4a#R9*LR=LU z6@!9;{@Vku{+&8Nil-#VFZe$KFbLg0 zcMd3i#?!?y#G?1?C2ye?1s;|QB}pCgf8Q^UDp}>Ga;hk4r-IEarm49bp3Gn1QT}nQ zX29E%)*%bjtpj#X^z}ZXcJ-wwm)hJjaSJsb?|D~iz02g>UMJVg7p$MMl)ib~Po2n9 zBof~d7AG9LI4!J$$IH<`_fY1+Pw_XM7VUj7GFHsvr+zRJpvFS8UdGOA- zZZX-{@(H zu`y-r3@d7D*)fUR@AAcmAGlbloMGPUuwUw`n5J)9 z$AbPZ+=WxFyC}Y$DI3M2xVUQ8svWK-ljAL&+}8%=2ybMV^=ru%hnJ}`PG^&r-#TN_ zpr>2CO7^I#ovCs4f~#>d@#huKYW)sA{kCfvQ`}+x=vMuhj8oO0fj(pKboFyt=akR{0C5hK%>V!Z literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/354-mega_2.png b/public/images/pokemon/icons/variant/3/354-mega_2.png similarity index 100% rename from public/images/pokemon/icons/variant/6/354-mega_2.png rename to public/images/pokemon/icons/variant/3/354-mega_2.png diff --git a/public/images/pokemon/icons/variant/6/354-mega_3.png b/public/images/pokemon/icons/variant/3/354-mega_3.png similarity index 100% rename from public/images/pokemon/icons/variant/6/354-mega_3.png rename to public/images/pokemon/icons/variant/3/354-mega_3.png diff --git a/public/images/pokemon/icons/variant/6/742_2.png b/public/images/pokemon/icons/variant/7/742_2.png similarity index 100% rename from public/images/pokemon/icons/variant/6/742_2.png rename to public/images/pokemon/icons/variant/7/742_2.png diff --git a/public/images/pokemon/icons/variant/6/742_3.png b/public/images/pokemon/icons/variant/7/742_3.png similarity index 100% rename from public/images/pokemon/icons/variant/6/742_3.png rename to public/images/pokemon/icons/variant/7/742_3.png diff --git a/public/images/pokemon/icons/variant/6/743_2.png b/public/images/pokemon/icons/variant/7/743_2.png similarity index 100% rename from public/images/pokemon/icons/variant/6/743_2.png rename to public/images/pokemon/icons/variant/7/743_2.png diff --git a/public/images/pokemon/icons/variant/6/743_3.png b/public/images/pokemon/icons/variant/7/743_3.png similarity index 100% rename from public/images/pokemon/icons/variant/6/743_3.png rename to public/images/pokemon/icons/variant/7/743_3.png diff --git a/public/images/pokemon/icons/variant/6/777_2.png b/public/images/pokemon/icons/variant/7/777_2.png similarity index 100% rename from public/images/pokemon/icons/variant/6/777_2.png rename to public/images/pokemon/icons/variant/7/777_2.png diff --git a/public/images/pokemon/icons/variant/6/777_3.png b/public/images/pokemon/icons/variant/7/777_3.png similarity index 100% rename from public/images/pokemon/icons/variant/6/777_3.png rename to public/images/pokemon/icons/variant/7/777_3.png diff --git a/public/images/pokemon/icons/variant/7/778-busted_2.png b/public/images/pokemon/icons/variant/7/778-busted_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee05ae0a64aa3c1f8cbff0a94ace5f1a30e5bd6 GIT binary patch literal 471 zcmV;|0Vw{7P)X0004=NklX2v+yR6TUhtWeGWNKNqc|@M zA-uX>B*&6|r$WC|q3x9SijGR;l`3)F!I*|)0nqFX0mzzZrtZq`8^_UD4hCsB7Fjb5 zK;15)+>PUCq?PS+FUZ^L`_6r9F!8SsaWoZ0V36C#XXfsLs$C*q$b1o`oSdzv6GC`l zMIKz@ZTGTfn(|qZxw{~1rs)pGJALbR(HE=4NhytAb5My>+}&INP_;`uOkVu`SL=;9 zF^_2tCb1(Y)<<%Ab1KKlR(D?n+A@hIUX0;kBJI&EAlzU7~82fK9Z_ z0z>Hv>rf6Vaf*B)#`|_8jckZrB@t8_>=r}dQt5X00050Nkl6HJ1`L7mlG4<{gt$1^K?#EsgQFo##=*(e@8HbhH!#LHF*qHh{1teDX6jbsxEz|{<*f#{oeNNK}1AEL_|cye-hKZfe>OedrV5HeP6|# z&c#BAQC8&W4GoIrD#db@f?fJlIw*l>s^seJ7TX(n0M2i&05H-Cy8Wg*Rwq%d1ZUaa z$YZ1v0AxiDm99>rfoAqudb6~i+Ee=tdF^ihB+-Q+g0tK{+~ITv*rtV*F+T{YB$IIm z7*Eiz8x;oG1#Ur+9 z0h89EN~j2{S^G**$tkRi$>r7(Fm5f$xPz23R;yP4LT%Q*1icU6y?>h$^$PWd1~5rA z41AYC34GP}U@Yb>^`E|jQp%VRjFbqB%j=a&#;3>Y%0YlX$#<(4bw11$O{j#ql8Fd| YcdtjV?E2tq6#xJL07*qoM6N<$f;h(DnE(I) literal 0 HcmV?d00001 diff --git a/public/images/pokemon/icons/variant/6/779_2.png b/public/images/pokemon/icons/variant/7/779_2.png similarity index 100% rename from public/images/pokemon/icons/variant/6/779_2.png rename to public/images/pokemon/icons/variant/7/779_2.png diff --git a/public/images/pokemon/icons/variant/6/779_3.png b/public/images/pokemon/icons/variant/7/779_3.png similarity index 100% rename from public/images/pokemon/icons/variant/6/779_3.png rename to public/images/pokemon/icons/variant/7/779_3.png From a2a1f3ec24e70c8c62a89ef6f3f0328810380ac6 Mon Sep 17 00:00:00 2001 From: Alex Van Liew Date: Sat, 3 Aug 2024 12:13:42 -0700 Subject: [PATCH 19/33] [Refactor] Refactored duplicated code into a common Pokemon#leaveField() function (#3310) * refactor duplicated code into leaveField function * replace bugfix code --- src/data/move.ts | 19 +++++-------------- src/field/pokemon.ts | 39 ++++++++++++++++++++++++++------------- src/phases.ts | 42 ++++++++++++++++++------------------------ 3 files changed, 49 insertions(+), 51 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 09cd03e542e..6e0be52047c 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -13,10 +13,9 @@ import { ArenaTagSide, ArenaTrapTag, WeakenMoveTypeTag } from "./arena-tag"; import { UnswappableAbilityAbAttr, UncopiableAbilityAbAttr, UnsuppressableAbilityAbAttr, BlockRecoilDamageAttr, BlockOneHitKOAbAttr, IgnoreContactAbAttr, MaxMultiHitAbAttr, applyAbAttrs, BlockNonDirectDamageAbAttr, applyPreSwitchOutAbAttrs, PreSwitchOutAbAttr, applyPostDefendAbAttrs, PostDefendContactApplyStatusEffectAbAttr, MoveAbilityBypassAbAttr, ReverseDrainAbAttr, FieldPreventExplosiveMovesAbAttr, ForceSwitchOutImmunityAbAttr, BlockItemTheftAbAttr, applyPostAttackAbAttrs, ConfusionOnStatusEffectAbAttr, HealFromBerryUseAbAttr, IgnoreProtectOnContactAbAttr, IgnoreMoveEffectsAbAttr, applyPreDefendAbAttrs, MoveEffectChanceMultiplierAbAttr, WonderSkinAbAttr, applyPreAttackAbAttrs, MoveTypeChangeAttr, UserFieldMoveTypePowerBoostAbAttr, FieldMoveTypePowerBoostAbAttr, AllyMoveCategoryPowerBoostAbAttr, VariableMovePowerAbAttr } from "./ability"; import { allAbilities } from "./ability"; import { PokemonHeldItemModifier, BerryModifier, PreserveBerryModifier, PokemonMoveAccuracyBoosterModifier, AttackTypeBoosterModifier, PokemonMultiHitModifier } from "../modifier/modifier"; -import { BattlerIndex } from "../battle"; +import { BattlerIndex, BattleType } from "../battle"; import { Stat } from "./pokemon-stat"; import { TerrainType } from "./terrain"; -import { SpeciesFormChangeActiveTrigger } from "./pokemon-forms"; import { ModifierPoolType } from "#app/modifier/modifier-type"; import { Command } from "../ui/command-ui-handler"; import i18next from "i18next"; @@ -1817,13 +1816,10 @@ export class MultiHitAttr extends MoveAttr { } case MultiHitType._2: return 2; - break; case MultiHitType._3: return 3; - break; case MultiHitType._10: return 10; - break; case MultiHitType.BEAT_UP: const party = user.isPlayer() ? user.scene.getParty() : user.scene.getEnemyParty(); // No status means the ally pokemon can contribute to Beat Up @@ -4780,19 +4776,14 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { if (switchOutTarget.hp > 0) { applyPreSwitchOutAbAttrs(PreSwitchOutAbAttr, switchOutTarget); // switchOut below sets the UI to select party(this is not a separate Phase), then adds a SwitchSummonPhase with selected 'mon - (switchOutTarget as PlayerPokemon).switchOut(this.batonPass, true).then(() => resolve(true)); + (switchOutTarget as PlayerPokemon).switchOut(this.batonPass).then(() => resolve(true)); } else { resolve(false); } return; - } else if (user.scene.currentBattle.battleType) { - // Switch out logic for the battle type - switchOutTarget.resetTurnData(); - switchOutTarget.resetSummonData(); - switchOutTarget.hideInfo(); - switchOutTarget.setVisible(false); - switchOutTarget.scene.field.remove(switchOutTarget); - user.scene.triggerPokemonFormChange(switchOutTarget, SpeciesFormChangeActiveTrigger, true); + } else if (user.scene.currentBattle.battleType !== BattleType.WILD) { + // Switch out logic for trainer battles + switchOutTarget.leaveField(!this.batonPass); if (switchOutTarget.hp > 0) { // for opponent switching out diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index f2b0d02e245..1bd9f8db491 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -3161,6 +3161,23 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.randSeedInt((max - min) + 1, min); } + /** + * Causes a Pokemon to leave the field (such as in preparation for a switch out/escape). + * @param clearEffects Indicates if effects should be cleared (true) or passed + * to the next pokemon, such as during a baton pass (false) + */ + leaveField(clearEffects: boolean = true) { + this.resetTurnData(); + if (clearEffects) { + this.resetSummonData(); + this.resetBattleData(); + } + this.hideInfo(); + this.setVisible(false); + this.scene.field.remove(this); + this.scene.triggerPokemonFormChange(this, SpeciesFormChangeActiveTrigger, true); + } + destroy(): void { this.battleInfo?.destroy(); super.destroy(); @@ -3272,25 +3289,21 @@ export class PlayerPokemon extends Pokemon { return true; } - switchOut(batonPass: boolean, removeFromField: boolean = false): Promise { + /** + * Causes this mon to leave the field (via {@linkcode leaveField}) and then + * opens the party switcher UI to switch a new mon in + * @param batonPass Indicates if this switch was caused by a baton pass (and + * thus should maintain active mon effects) + */ + switchOut(batonPass: boolean): Promise { return new Promise(resolve => { - this.resetTurnData(); - if (!batonPass) { - this.resetSummonData(); - } - this.hideInfo(); - this.setVisible(false); + this.leaveField(!batonPass); this.scene.ui.setMode(Mode.PARTY, PartyUiMode.FAINT_SWITCH, this.getFieldIndex(), (slotIndex: integer, option: PartyOption) => { if (slotIndex >= this.scene.currentBattle.getBattlerCount() && slotIndex < 6) { this.scene.prependToPhase(new SwitchSummonPhase(this.scene, this.getFieldIndex(), slotIndex, false, batonPass), MoveEndPhase); } - if (removeFromField) { - this.setVisible(false); - this.scene.field.remove(this); - this.scene.triggerPokemonFormChange(this, SpeciesFormChangeActiveTrigger, true); - } - this.scene.ui.setMode(Mode.MESSAGE).then(() => resolve()); + this.scene.ui.setMode(Mode.MESSAGE).then(resolve); }, PartyUiHandler.FilterNonFainted); }); } diff --git a/src/phases.ts b/src/phases.ts index 5916fc882cb..14c8e53aa73 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -1392,10 +1392,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { // First check if they're somehow still in play, if so remove them. if (partyMember.isOnField()) { - partyMember.hideInfo(); - partyMember.setVisible(false); - this.scene.field.remove(partyMember); - this.scene.triggerPokemonFormChange(partyMember, SpeciesFormChangeActiveTrigger, true); + partyMember.leaveField(); } const party = this.getParty(); @@ -1611,7 +1608,7 @@ export class SwitchSummonPhase extends SummonPhase { }) ); this.scene.playSound("pb_rel"); - pokemon.hideInfo(); + pokemon.hideInfo(); // this is also done by pokemon.leaveField(), but needs to go earlier for animation purposes pokemon.tint(getPokeballTintColor(pokemon.pokeball), 1, 250, "Sine.easeIn"); this.scene.tweens.add({ targets: pokemon, @@ -1619,9 +1616,9 @@ export class SwitchSummonPhase extends SummonPhase { ease: "Sine.easeIn", scale: 0.5, onComplete: () => { - pokemon.setVisible(false); - this.scene.field.remove(pokemon); - this.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeActiveTrigger, true); + // 250ms delay on leaveField is necessary to avoid calling hideInfo() twice + // and double-animating the stats panel slideout + this.scene.time.delayedCall(250, () => pokemon.leaveField(!this.batonPass)); this.scene.time.delayedCall(750, () => this.switchAndSummon()); } }); @@ -1629,25 +1626,25 @@ export class SwitchSummonPhase extends SummonPhase { switchAndSummon() { const party = this.player ? this.getParty() : this.scene.getEnemyParty(); - const switchedPokemon = party[this.slotIndex]; + const switchedInPokemon = party[this.slotIndex]; this.lastPokemon = this.getPokemon(); applyPreSwitchOutAbAttrs(PreSwitchOutAbAttr, this.lastPokemon); - if (this.batonPass && switchedPokemon) { - (this.player ? this.scene.getEnemyField() : this.scene.getPlayerField()).forEach(enemyPokemon => enemyPokemon.transferTagsBySourceId(this.lastPokemon.id, switchedPokemon.id)); - if (!this.scene.findModifier(m => m instanceof SwitchEffectTransferModifier && (m as SwitchEffectTransferModifier).pokemonId === switchedPokemon.id)) { + if (this.batonPass && switchedInPokemon) { + (this.player ? this.scene.getEnemyField() : this.scene.getPlayerField()).forEach(enemyPokemon => enemyPokemon.transferTagsBySourceId(this.lastPokemon.id, switchedInPokemon.id)); + if (!this.scene.findModifier(m => m instanceof SwitchEffectTransferModifier && (m as SwitchEffectTransferModifier).pokemonId === switchedInPokemon.id)) { const batonPassModifier = this.scene.findModifier(m => m instanceof SwitchEffectTransferModifier && (m as SwitchEffectTransferModifier).pokemonId === this.lastPokemon.id) as SwitchEffectTransferModifier; - if (batonPassModifier && !this.scene.findModifier(m => m instanceof SwitchEffectTransferModifier && (m as SwitchEffectTransferModifier).pokemonId === switchedPokemon.id)) { - this.scene.tryTransferHeldItemModifier(batonPassModifier, switchedPokemon, false); + if (batonPassModifier && !this.scene.findModifier(m => m instanceof SwitchEffectTransferModifier && (m as SwitchEffectTransferModifier).pokemonId === switchedInPokemon.id)) { + this.scene.tryTransferHeldItemModifier(batonPassModifier, switchedInPokemon, false); } } } - if (switchedPokemon) { + if (switchedInPokemon) { party[this.slotIndex] = this.lastPokemon; - party[this.fieldIndex] = switchedPokemon; + party[this.fieldIndex] = switchedInPokemon; const showTextAndSummon = () => { this.scene.ui.showText(this.player ? - i18next.t("battle:playerGo", { pokemonName: getPokemonNameWithAffix(switchedPokemon) }) : + i18next.t("battle:playerGo", { pokemonName: getPokemonNameWithAffix(switchedInPokemon) }) : i18next.t("battle:trainerGo", { trainerName: this.scene.currentBattle.trainer.getName(!(this.fieldIndex % 2) ? TrainerSlot.TRAINER : TrainerSlot.TRAINER_PARTNER), pokemonName: this.getPokemon().getNameToRender() @@ -1655,8 +1652,8 @@ export class SwitchSummonPhase extends SummonPhase { ); // Ensure improperly persisted summon data (such as tags) is cleared upon switching if (!this.batonPass) { - party[this.fieldIndex].resetBattleData(); - party[this.fieldIndex].resetSummonData(); + switchedInPokemon.resetBattleData(); + switchedInPokemon.resetSummonData(); } this.summon(); }; @@ -1876,14 +1873,11 @@ export class TurnInitPhase extends FieldPhase { this.scene.unshiftPhase(new GameOverPhase(this.scene)); } else if (allowedPokemon.length >= this.scene.currentBattle.getBattlerCount() || (this.scene.currentBattle.double && !allowedPokemon[0].isActive(true))) { // If there is at least one pokemon in the back that is legal to switch in, force a switch. - p.switchOut(false, true); + p.switchOut(false); } else { // If there are no pokemon in the back but we're not game overing, just hide the pokemon. // This should only happen in double battles. - p.hideInfo(); - p.setVisible(false); - this.scene.field.remove(p); - this.scene.triggerPokemonFormChange(p, SpeciesFormChangeActiveTrigger, true); + p.leaveField(); } if (allowedPokemon.length === 1 && this.scene.currentBattle.double) { this.scene.unshiftPhase(new ToggleDoublePositionPhase(this.scene, true)); From 800abc47671a0dd8444ba8a040ec27929b891bd8 Mon Sep 17 00:00:00 2001 From: Leo Kim <47556641+KimJeongSun@users.noreply.github.com> Date: Sun, 4 Aug 2024 04:14:42 +0900 Subject: [PATCH 20/33] [QoL] Auto filter for challenge mode in starter select (#3312) --- src/ui/starter-select-ui-handler.ts | 34 ++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index ab28da206d1..2f5197a2d2c 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -151,8 +151,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler { private filterBarContainer: Phaser.GameObjects.Container; private filterBar: FilterBar; private shinyOverlay: Phaser.GameObjects.Image; - private starterContainer: StarterContainer[] = []; + private starterContainers: StarterContainer[] = []; private filteredStarterContainers: StarterContainer[] = []; + private validStarterContainers: StarterContainer[] = []; private pokemonNumberText: Phaser.GameObjects.Text; private pokemonSprite: Phaser.GameObjects.Sprite; private pokemonNameText: Phaser.GameObjects.Text; @@ -536,7 +537,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const starterContainer = new StarterContainer(this.scene, species).setVisible(false); this.iconAnimHandler.addOrUpdate(starterContainer.icon, PokemonIconAnimMode.NONE); - this.starterContainer.push(starterContainer); + this.starterContainers.push(starterContainer); starterBoxContainer.add(starterContainer); } @@ -820,7 +821,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.starterSelectContainer.setVisible(true); this.allSpecies.forEach((species, s) => { - const icon = this.starterContainer[s].icon; + const icon = this.starterContainers[s].icon; const dexEntry = this.scene.gameData.dexData[species.speciesId]; if (dexEntry.caughtAttr) { @@ -1956,14 +1957,31 @@ export default class StarterSelectUiHandler extends MessageUiHandler { updateStarters = () => { this.scrollCursor = 0; this.filteredStarterContainers = []; + this.validStarterContainers = []; this.pokerusCursorObjs.forEach(cursor => cursor.setVisible(false)); this.starterCursorObjs.forEach(cursor => cursor.setVisible(false)); this.filterBar.updateFilterLabels(); + // pre filter for challenges + if (this.scene.gameMode.modeId === GameModes.CHALLENGE) { + console.log("this.scene.gameMode.modeId", this.scene.gameMode.modeId); + this.starterContainers.forEach(container => { + const isValidForChallenge = new Utils.BooleanHolder(true); + Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, container.species, isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(container.species, this.scene.gameData.getSpeciesDefaultDexAttr(container.species, false, true)), true); + if (isValidForChallenge.value) { + this.validStarterContainers.push(container); + } else { + container.setVisible(false); + } + }); + } else { + this.validStarterContainers = this.starterContainers; + } + // filter - this.starterContainer.forEach(container => { + this.validStarterContainers.forEach(container => { container.setVisible(false); container.cost = this.scene.gameData.getSpeciesStarterValue(container.species.speciesId); @@ -2275,12 +2293,12 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const dexAttr = this.scene.gameData.getSpeciesDefaultDexAttr(this.lastSpecies, false, true); const props = this.scene.gameData.getSpeciesDexAttrProps(this.lastSpecies, dexAttr); const speciesIndex = this.allSpecies.indexOf(this.lastSpecies); - const lastSpeciesIcon = this.starterContainer[speciesIndex].icon; + const lastSpeciesIcon = this.starterContainers[speciesIndex].icon; this.checkIconId(lastSpeciesIcon, this.lastSpecies, props.female, props.formIndex, props.shiny, props.variant); this.iconAnimHandler.addOrUpdate(lastSpeciesIcon, PokemonIconAnimMode.NONE); // Resume the animation for the previously selected species - const icon = this.starterContainer[speciesIndex].icon; + const icon = this.starterContainers[speciesIndex].icon; this.scene.tweens.getTweensOf(icon).forEach(tween => tween.resume()); } @@ -2376,7 +2394,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { // Pause the animation when the species is selected const speciesIndex = this.allSpecies.indexOf(species); - const icon = this.starterContainer[speciesIndex].icon; + const icon = this.starterContainers[speciesIndex].icon; if (this.isUpgradeAnimationEnabled()) { this.scene.tweens.getTweensOf(icon).forEach(tween => tween.pause()); @@ -2813,7 +2831,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { /** Used to detect if this pokemon is registered in starter */ const speciesStarterDexEntry = this.scene.gameData.dexData[this.allSpecies[s].speciesId]; /** {@linkcode Phaser.GameObjects.Sprite} object of Pokémon for setting the alpha value */ - const speciesSprite = this.starterContainer[s].icon; + const speciesSprite = this.starterContainers[s].icon; /** * If remainValue greater than or equal pokemon species and the pokemon is legal for this challenge, the user can select. From d20b7553ef7ee0d57a4460cd5678bbbc36935d92 Mon Sep 17 00:00:00 2001 From: Leo Kim <47556641+KimJeongSun@users.noreply.github.com> Date: Sun, 4 Aug 2024 04:16:29 +0900 Subject: [PATCH 21/33] [Enhancement] Add confirm exit popup in starter select UI (#3316) * add confirmExit popup * add translation entries for `confirmExit` * Update src/ui/starter-select-ui-handler.ts Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> --------- Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> --- src/locales/de/starter-select-ui-handler.ts | 1 + src/locales/en/starter-select-ui-handler.ts | 1 + src/locales/es/starter-select-ui-handler.ts | 1 + src/locales/fr/starter-select-ui-handler.ts | 1 + src/locales/it/starter-select-ui-handler.ts | 1 + src/locales/ko/starter-select-ui-handler.ts | 1 + .../pt_BR/starter-select-ui-handler.ts | 1 + .../zh_CN/starter-select-ui-handler.ts | 1 + .../zh_TW/starter-select-ui-handler.ts | 1 + src/ui/starter-select-ui-handler.ts | 35 ++++++++++++++----- 10 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/locales/de/starter-select-ui-handler.ts b/src/locales/de/starter-select-ui-handler.ts index caade5c524d..e8ae4ed201e 100644 --- a/src/locales/de/starter-select-ui-handler.ts +++ b/src/locales/de/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "Mit diesen Pokémon losziehen?", + "confirmExit": "Do you want to exit?", "invalidParty": "Das ist kein gültiges Team!", "gen1": "I", "gen2": "II", diff --git a/src/locales/en/starter-select-ui-handler.ts b/src/locales/en/starter-select-ui-handler.ts index 6d7b7f7cfb2..deb4236c8ba 100644 --- a/src/locales/en/starter-select-ui-handler.ts +++ b/src/locales/en/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "Begin with these Pokémon?", + "confirmExit": "Do you want to exit?", "invalidParty": "This is not a valid starting party!", "gen1": "I", "gen2": "II", diff --git a/src/locales/es/starter-select-ui-handler.ts b/src/locales/es/starter-select-ui-handler.ts index 583e302bfeb..d7c203f49c4 100644 --- a/src/locales/es/starter-select-ui-handler.ts +++ b/src/locales/es/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "¿Comenzar con estos Pokémon?", + "confirmExit": "Do you want to exit?", "invalidParty": "¡Este equipo no es válido!", "gen1": "I", "gen2": "II", diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts index ce5959062ac..ef685598158 100644 --- a/src/locales/fr/starter-select-ui-handler.ts +++ b/src/locales/fr/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "Commencer avec ces Pokémon ?", + "confirmExit": "Do you want to exit?", "invalidParty": "Cette équipe de départ est invalide !", "gen1": "1G", "gen2": "2G", diff --git a/src/locales/it/starter-select-ui-handler.ts b/src/locales/it/starter-select-ui-handler.ts index 9b0197e48ab..6f43b9415e0 100644 --- a/src/locales/it/starter-select-ui-handler.ts +++ b/src/locales/it/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "Vuoi iniziare con questi Pokémon?", + "confirmExit": "Do you want to exit?", "invalidParty": "Questo squadra iniziale non è valida!", "gen1": "1ª", "gen2": "2ª", diff --git a/src/locales/ko/starter-select-ui-handler.ts b/src/locales/ko/starter-select-ui-handler.ts index 8fe66e0d58a..c57a37788fa 100644 --- a/src/locales/ko/starter-select-ui-handler.ts +++ b/src/locales/ko/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "이 포켓몬들로 시작하시겠습니까?", + "confirmExit": "Do you want to exit?", "invalidParty": "스타팅 포켓몬 파티에 적합하지 않습니다!", "gen1": "1세대", "gen2": "2세대", diff --git a/src/locales/pt_BR/starter-select-ui-handler.ts b/src/locales/pt_BR/starter-select-ui-handler.ts index d1038630c8c..a6407b5368d 100644 --- a/src/locales/pt_BR/starter-select-ui-handler.ts +++ b/src/locales/pt_BR/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "Começar com esses Pokémon?", + "confirmExit": "Do you want to exit?", "invalidParty": "Essa equipe de iniciais não é válida!", "gen1": "G1", "gen2": "G2", diff --git a/src/locales/zh_CN/starter-select-ui-handler.ts b/src/locales/zh_CN/starter-select-ui-handler.ts index 45327bab55b..b8c491288e1 100644 --- a/src/locales/zh_CN/starter-select-ui-handler.ts +++ b/src/locales/zh_CN/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "使用这些宝可梦开始游戏吗?", + "confirmExit": "Do you want to exit?", "invalidParty": "初始队伍不可用!", "gen1": "I", "gen2": "II", diff --git a/src/locales/zh_TW/starter-select-ui-handler.ts b/src/locales/zh_TW/starter-select-ui-handler.ts index 0ea1e2d0415..1202bf45f0e 100644 --- a/src/locales/zh_TW/starter-select-ui-handler.ts +++ b/src/locales/zh_TW/starter-select-ui-handler.ts @@ -7,6 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "使用這些寶可夢開始嗎?", + "confirmExit": "Do you want to exit?", "invalidParty": "此為無效隊伍!", "gen1": "I", "gen2": "II", diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 2f5197a2d2c..ff7b7c19e47 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -1063,14 +1063,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { success = true; this.updateInstructions(); } else { - this.blockInput = true; - this.scene.clearPhaseQueue(); - if (this.scene.gameMode.isChallenge) { - this.scene.pushPhase(new SelectChallengePhase(this.scene)); - } else { - this.scene.pushPhase(new TitlePhase(this.scene)); - } - this.scene.getCurrentPhase().end(); + this.tryExit(); success = true; } } else if (this.startCursorObj.visible) { // this checks to see if the start button is selected @@ -2880,6 +2873,32 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return true; } + tryExit(): boolean { + this.blockInput = true; + const ui = this.getUi(); + + const cancel = () => { + ui.setMode(Mode.STARTER_SELECT); + this.clearText(); + this.blockInput = false; + }; + ui.showText(i18next.t("starterSelectUiHandler:confirmExit"), null, () => { + ui.setModeWithoutClear(Mode.CONFIRM, () => { + ui.setMode(Mode.STARTER_SELECT); + this.scene.clearPhaseQueue(); + if (this.scene.gameMode.isChallenge) { + this.scene.pushPhase(new SelectChallengePhase(this.scene)); + } else { + this.scene.pushPhase(new TitlePhase(this.scene)); + } + this.clearText(); + this.scene.getCurrentPhase().end(); + }, cancel, null, null, 19); + }); + + return true; + } + tryStart(manualTrigger: boolean = false): boolean { if (!this.starterSpecies.length) { return false; From cd1c810c5aa2162b83fef88d651adc2a3589c56d Mon Sep 17 00:00:00 2001 From: Blitzy <118096277+Blitz425@users.noreply.github.com> Date: Sat, 3 Aug 2024 15:18:03 -0400 Subject: [PATCH 22/33] [Balance] Give Dipplin Dragon Cheer as a relearn move, give Applin Matcha Gotcha as egg move instead (#3291) * Change Relearn Move * Change Egg Move --- src/data/egg-moves.ts | 2 +- src/data/pokemon-level-moves.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/egg-moves.ts b/src/data/egg-moves.ts index 64e75113dbc..1f893a0c522 100644 --- a/src/data/egg-moves.ts +++ b/src/data/egg-moves.ts @@ -438,7 +438,7 @@ export const speciesEggMoves = { [Species.CHEWTLE]: [ Moves.FIRE_FANG, Moves.ACCELEROCK, Moves.SHELL_SMASH, Moves.FISHIOUS_REND ], [Species.YAMPER]: [ Moves.ICE_FANG, Moves.SWORDS_DANCE, Moves.THUNDER_FANG, Moves.ZIPPY_ZAP ], [Species.ROLYCOLY]: [ Moves.BITTER_BLADE, Moves.BODY_PRESS, Moves.BULK_UP, Moves.DIAMOND_STORM ], - [Species.APPLIN]: [ Moves.DRAGON_CHEER, Moves.DRAGON_HAMMER, Moves.FLOWER_TRICK, Moves.STRENGTH_SAP ], + [Species.APPLIN]: [ Moves.MATCHA_GOTCHA, Moves.DRAGON_HAMMER, Moves.FLOWER_TRICK, Moves.STRENGTH_SAP ], [Species.SILICOBRA]: [ Moves.SHORE_UP, Moves.SHED_TAIL, Moves.STONE_EDGE, Moves.PRECIPICE_BLADES ], [Species.CRAMORANT]: [ Moves.APPLE_ACID, Moves.SURF, Moves.SCORCHING_SANDS, Moves.OBLIVION_WING ], [Species.ARROKUDA]: [ Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.ICE_SPINNER, Moves.FILLET_AWAY ], diff --git a/src/data/pokemon-level-moves.ts b/src/data/pokemon-level-moves.ts index 2ba8ccdf463..b23c43ef215 100644 --- a/src/data/pokemon-level-moves.ts +++ b/src/data/pokemon-level-moves.ts @@ -17287,7 +17287,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.DIPPLIN]: [ [ EVOLVE_MOVE, Moves.DOUBLE_HIT ], - [ RELEARN_MOVE, Moves.INFESTATION ], + [ RELEARN_MOVE, Moves.DRAGON_CHEER ], // Custom [ 1, Moves.WITHDRAW ], [ 1, Moves.SWEET_SCENT ], [ 1, Moves.RECYCLE ], From 3fa2088f5beca417c1a6445185c88714851d343e Mon Sep 17 00:00:00 2001 From: Mumble Date: Sat, 3 Aug 2024 12:20:19 -0700 Subject: [PATCH 23/33] [Refactor] Merged implementation of CutHpStatBoostAttr moves (#3255) * Merged implementation of CutHpStatBoostAttr moves * Fixed failure check * Fixed Belly Drum details * Moved comment * Tests for involved moves * Fixed belly drum reference * Added localization * Manual merge * Fixed issues discovered by Temp * Updated moveset overrides to match new format * Implementing Torranx's fixes * Localized Belly Drum message to Belly Drum's initialization * Post Caffeine Activation * Actual Caffeine Fix-TypeDoc Test --------- Co-authored-by: Frutescens --- src/data/move.ts | 36 ++----- src/test/moves/belly_drum.test.ts | 115 +++++++++++++++++++++ src/test/moves/clangorous_soul.test.ts | 136 +++++++++++++++++++++++++ src/test/moves/fillet_away.test.ts | 124 ++++++++++++++++++++++ 4 files changed, 385 insertions(+), 26 deletions(-) create mode 100644 src/test/moves/belly_drum.test.ts create mode 100644 src/test/moves/clangorous_soul.test.ts create mode 100644 src/test/moves/fillet_away.test.ts diff --git a/src/data/move.ts b/src/data/move.ts index 6e0be52047c..b8593ede356 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2627,36 +2627,15 @@ export class GrowthStatChangeAttr extends StatChangeAttr { } } -export class HalfHpStatMaxAttr extends StatChangeAttr { - constructor(stat: BattleStat) { - super(stat, 12, true, null, false); - } - - apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise { - return new Promise(resolve => { - user.damageAndUpdate(Math.floor(user.getMaxHp() / 2), HitResult.OTHER, false, true); - user.updateInfo().then(() => { - const ret = super.apply(user, target, move, args); - user.scene.queueMessage(i18next.t("moveTriggers:cutOwnHpAndMaximizedStat", {pokemonName: getPokemonNameWithAffix(user), statName: getBattleStatName(this.stats[BattleStat.ATK])})); - resolve(ret); - }); - }); - } - - getCondition(): MoveConditionFunc { - return (user, target, move) => user.getHpRatio() > 0.5 && user.summonData.battleStats[this.stats[BattleStat.ATK]] < 6; - } - - // TODO: Add benefit score that considers HP cut -} - export class CutHpStatBoostAttr extends StatChangeAttr { private cutRatio: integer; + private messageCallback: ((user: Pokemon) => void) | undefined; - constructor(stat: BattleStat | BattleStat[], levels: integer, cutRatio: integer) { + constructor(stat: BattleStat | BattleStat[], levels: integer, cutRatio: integer, messageCallback?: ((user: Pokemon) => void) | undefined) { super(stat, levels, true, null, true); this.cutRatio = cutRatio; + this.messageCallback = messageCallback; } apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise { @@ -2664,13 +2643,16 @@ export class CutHpStatBoostAttr extends StatChangeAttr { user.damageAndUpdate(Math.floor(user.getMaxHp() / this.cutRatio), HitResult.OTHER, false, true); user.updateInfo().then(() => { const ret = super.apply(user, target, move, args); + if (this.messageCallback) { + this.messageCallback(user); + } resolve(ret); }); }); } getCondition(): MoveConditionFunc { - return (user, target, move) => user.getHpRatio() > 1 / this.cutRatio; + return (user, target, move) => user.getHpRatio() > 1 / this.cutRatio && this.stats.some(s => user.summonData.battleStats[s] < 6); } } @@ -6477,7 +6459,9 @@ export function initMoves() { new StatusMove(Moves.SWEET_KISS, Type.FAIRY, 75, 10, -1, 0, 2) .attr(ConfuseAttr), new SelfStatusMove(Moves.BELLY_DRUM, Type.NORMAL, -1, 10, -1, 0, 2) - .attr(HalfHpStatMaxAttr, BattleStat.ATK), + .attr(CutHpStatBoostAttr, [BattleStat.ATK], 12, 2, (user) => { + user.scene.queueMessage(i18next.t("moveTriggers:cutOwnHpAndMaximizedStat", {pokemonName: getPokemonNameWithAffix(user), statName: getBattleStatName(BattleStat.ATK)})); + }), new AttackMove(Moves.SLUDGE_BOMB, Type.POISON, MoveCategory.SPECIAL, 90, 100, 10, 30, 0, 2) .attr(StatusEffectAttr, StatusEffect.POISON) .ballBombMove(), diff --git a/src/test/moves/belly_drum.test.ts b/src/test/moves/belly_drum.test.ts new file mode 100644 index 00000000000..5a9ddd41f0f --- /dev/null +++ b/src/test/moves/belly_drum.test.ts @@ -0,0 +1,115 @@ +import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest"; +import Phaser from "phaser"; +import GameManager from "#app/test/utils/gameManager"; +import overrides from "#app/overrides"; +import { + TurnEndPhase, +} from "#app/phases"; +import {getMovePosition} from "#app/test/utils/gameManagerUtils"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { BattleStat } from "#app/data/battle-stat"; + +const TIMEOUT = 20 * 1000; +// RATIO : HP Cost of Move +const RATIO = 2; +// PREDAMAGE : Amount of extra HP lost +const PREDAMAGE = 15; + +describe("Moves - BELLY DRUM", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); + vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); + vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); + vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.moveset([Moves.BELLY_DRUM]); + game.override.enemyMoveset([Moves.SPLASH]); + }); + + // Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/Belly_Drum_(move) + + test("Belly Drum raises the user's Attack to its max, at the cost of 1/2 of its maximum HP", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + + game.doAttack(getMovePosition(game.scene, 0, Moves.BELLY_DRUM)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(6); + }, TIMEOUT + ); + + test("Belly Drum will still take effect if an uninvolved stat is at max", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + + // Here - BattleStat.ATK -> -3 and BattleStat.SPATK -> 6 + leadPokemon.summonData.battleStats[BattleStat.ATK] = -3; + leadPokemon.summonData.battleStats[BattleStat.SPATK] = 6; + + game.doAttack(getMovePosition(game.scene, 0, Moves.BELLY_DRUM)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(6); + }, TIMEOUT + ); + + test("Belly Drum fails if the pokemon's attack stat is at its maximum", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + + leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; + + game.doAttack(getMovePosition(game.scene, 0, Moves.BELLY_DRUM)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp()); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(6); + }, TIMEOUT + ); + + test("Belly Drum fails if the user's health is less than 1/2", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + leadPokemon.hp = hpLost - PREDAMAGE; + + game.doAttack(getMovePosition(game.scene, 0, Moves.BELLY_DRUM)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(hpLost - PREDAMAGE); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(0); + }, TIMEOUT + ); +}); diff --git a/src/test/moves/clangorous_soul.test.ts b/src/test/moves/clangorous_soul.test.ts new file mode 100644 index 00000000000..1b3d16f402f --- /dev/null +++ b/src/test/moves/clangorous_soul.test.ts @@ -0,0 +1,136 @@ +import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest"; +import Phaser from "phaser"; +import GameManager from "#app/test/utils/gameManager"; +import overrides from "#app/overrides"; +import { + TurnEndPhase, +} from "#app/phases"; +import {getMovePosition} from "#app/test/utils/gameManagerUtils"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { BattleStat } from "#app/data/battle-stat"; + +const TIMEOUT = 20 * 1000; +// RATIO : HP Cost of Move +const RATIO = 3; +// PREDAMAGE : Amount of extra HP lost +const PREDAMAGE = 15; + +describe("Moves - CLANGOROUS_SOUL", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); + vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); + vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); + vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.moveset([Moves.CLANGOROUS_SOUL]); + game.override.enemyMoveset([Moves.SPLASH]); + }); + + //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/Clangorous_Soul_(move) + + test("Clangorous Soul raises the user's Attack, Defense, Special Attack, Special Defense and Speed by one stage each, at the cost of 1/3 of its maximum HP", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + + game.doAttack(getMovePosition(game.scene, 0, Moves.CLANGOROUS_SOUL)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(1); + expect(leadPokemon.summonData.battleStats[BattleStat.DEF]).toBe(1); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(1); + expect(leadPokemon.summonData.battleStats[BattleStat.SPDEF]).toBe(1); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(1); + }, TIMEOUT + ); + + test("Clangorous Soul will still take effect if one or more of the involved stats are not at max", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + + //Here - BattleStat.SPD -> 0 and BattleStat.SPDEF -> 4 + leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; + leadPokemon.summonData.battleStats[BattleStat.DEF] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPATK] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPDEF] = 4; + + game.doAttack(getMovePosition(game.scene, 0, Moves.CLANGOROUS_SOUL)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.DEF]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPDEF]).toBe(5); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(1); + }, TIMEOUT + ); + + test("Clangorous Soul fails if all stats involved are at max", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + + leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; + leadPokemon.summonData.battleStats[BattleStat.DEF] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPATK] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPDEF] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPD] = 6; + + game.doAttack(getMovePosition(game.scene, 0, Moves.CLANGOROUS_SOUL)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp()); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.DEF]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPDEF]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(6); + }, TIMEOUT + ); + + test("Clangorous Soul fails if the user's health is less than 1/3", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + leadPokemon.hp = hpLost - PREDAMAGE; + + game.doAttack(getMovePosition(game.scene, 0, Moves.CLANGOROUS_SOUL)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(hpLost - PREDAMAGE); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(0); + expect(leadPokemon.summonData.battleStats[BattleStat.DEF]).toBe(0); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(0); + expect(leadPokemon.summonData.battleStats[BattleStat.SPDEF]).toBe(0); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(0); + }, TIMEOUT + ); +}); diff --git a/src/test/moves/fillet_away.test.ts b/src/test/moves/fillet_away.test.ts new file mode 100644 index 00000000000..161bba2c284 --- /dev/null +++ b/src/test/moves/fillet_away.test.ts @@ -0,0 +1,124 @@ +import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest"; +import Phaser from "phaser"; +import GameManager from "#app/test/utils/gameManager"; +import overrides from "#app/overrides"; +import { + TurnEndPhase, +} from "#app/phases"; +import {getMovePosition} from "#app/test/utils/gameManagerUtils"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import { BattleStat } from "#app/data/battle-stat"; + +const TIMEOUT = 20 * 1000; +// RATIO : HP Cost of Move +const RATIO = 2; +// PREDAMAGE : Amount of extra HP lost +const PREDAMAGE = 15; + +describe("Moves - FILLET AWAY", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); + vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); + vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); + vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.moveset([Moves.FILLET_AWAY]); + game.override.enemyMoveset([Moves.SPLASH]); + }); + + //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/fillet_away_(move) + + test("Fillet Away raises the user's Attack, Special Attack, and Speed by two stages each, at the cost of 1/2 of its maximum HP", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + + game.doAttack(getMovePosition(game.scene, 0, Moves.FILLET_AWAY)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(2); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(2); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(2); + }, TIMEOUT + ); + + test("Fillet Away will still take effect if one or more of the involved stats are not at max", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + + //Here - BattleStat.SPD -> 0 and BattleStat.SPATK -> 3 + leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPATK] = 3; + + game.doAttack(getMovePosition(game.scene, 0, Moves.FILLET_AWAY)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(5); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(2); + }, TIMEOUT + ); + + test("Fillet Away fails if all stats involved are at max", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + + leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPATK] = 6; + leadPokemon.summonData.battleStats[BattleStat.SPD] = 6; + + game.doAttack(getMovePosition(game.scene, 0, Moves.FILLET_AWAY)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp()); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(6); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(6); + }, TIMEOUT + ); + + test("Fillet Away fails if the user's health is less than 1/2", + async() => { + await game.startBattle([Species.MAGIKARP]); + + const leadPokemon = game.scene.getPlayerPokemon(); + expect(leadPokemon).toBeDefined(); + const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); + leadPokemon.hp = hpLost - PREDAMAGE; + + game.doAttack(getMovePosition(game.scene, 0, Moves.FILLET_AWAY)); + await game.phaseInterceptor.to(TurnEndPhase); + + expect(leadPokemon.hp).toBe(hpLost - PREDAMAGE); + expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(0); + expect(leadPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(0); + expect(leadPokemon.summonData.battleStats[BattleStat.SPD]).toBe(0); + }, TIMEOUT + ); +}); From 153d8ba5572021557caa1a831369ec4d8755e305 Mon Sep 17 00:00:00 2001 From: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Date: Sat, 3 Aug 2024 15:03:59 -0500 Subject: [PATCH 24/33] [Sprite] Move Victini graphics to Generation 5 atlases (#3320) * Move Victini graphics to Generation 5 atlases * Minor change --- public/images/pokemon/icons/{4 => 5}/494.png | Bin public/images/pokemon/icons/{4 => 5}/494s.png | Bin .../pokemon/icons/variant/{4 => 5}/494_2.png | Bin .../pokemon/icons/variant/{4 => 5}/494_3.png | Bin public/images/pokemon_icons_4.json | 5202 ++++++----- public/images/pokemon_icons_4.png | Bin 54686 -> 54115 bytes public/images/pokemon_icons_4v.json | 3374 ++++--- public/images/pokemon_icons_4v.png | Bin 29855 -> 29492 bytes public/images/pokemon_icons_5.json | 8114 +++++++++-------- public/images/pokemon_icons_5.png | Bin 65335 -> 64514 bytes public/images/pokemon_icons_5v.json | 3948 ++++---- public/images/pokemon_icons_5v.png | Bin 32058 -> 31807 bytes src/data/pokemon-species.ts | 10 +- 13 files changed, 10321 insertions(+), 10327 deletions(-) rename public/images/pokemon/icons/{4 => 5}/494.png (100%) rename public/images/pokemon/icons/{4 => 5}/494s.png (100%) rename public/images/pokemon/icons/variant/{4 => 5}/494_2.png (100%) rename public/images/pokemon/icons/variant/{4 => 5}/494_3.png (100%) diff --git a/public/images/pokemon/icons/4/494.png b/public/images/pokemon/icons/5/494.png similarity index 100% rename from public/images/pokemon/icons/4/494.png rename to public/images/pokemon/icons/5/494.png diff --git a/public/images/pokemon/icons/4/494s.png b/public/images/pokemon/icons/5/494s.png similarity index 100% rename from public/images/pokemon/icons/4/494s.png rename to public/images/pokemon/icons/5/494s.png diff --git a/public/images/pokemon/icons/variant/4/494_2.png b/public/images/pokemon/icons/variant/5/494_2.png similarity index 100% rename from public/images/pokemon/icons/variant/4/494_2.png rename to public/images/pokemon/icons/variant/5/494_2.png diff --git a/public/images/pokemon/icons/variant/4/494_3.png b/public/images/pokemon/icons/variant/5/494_3.png similarity index 100% rename from public/images/pokemon/icons/variant/4/494_3.png rename to public/images/pokemon/icons/variant/5/494_3.png diff --git a/public/images/pokemon_icons_4.json b/public/images/pokemon_icons_4.json index baa804fa2a0..bc32a16f02c 100644 --- a/public/images/pokemon_icons_4.json +++ b/public/images/pokemon_icons_4.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_4.png", "format": "RGBA8888", "size": { - "w": 252, - "h": 663 + "w": 250, + "h": 665 }, "scale": 1, "frames": [ @@ -682,7 +682,7 @@ } }, { - "filename": "399", + "filename": "415", "rotated": false, "trimmed": true, "sourceSize": { @@ -690,16 +690,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 12, - "w": 20, - "h": 16 + "x": 9, + "y": 9, + "w": 25, + "h": 18 }, "frame": { "x": 0, "y": 647, - "w": 20, - "h": 16 + "w": 25, + "h": 18 } }, { @@ -829,7 +829,7 @@ } }, { - "filename": "438", + "filename": "415s", "rotated": false, "trimmed": true, "sourceSize": { @@ -837,37 +837,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 14, - "y": 8, - "w": 12, - "h": 20 + "x": 9, + "y": 9, + "w": 25, + "h": 18 }, "frame": { - "x": 240, - "y": 23, - "w": 12, - "h": 20 - } - }, - { - "filename": "399s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 12, - "w": 20, - "h": 16 - }, - "frame": { - "x": 20, + "x": 25, "y": 647, - "w": 20, - "h": 16 + "w": 25, + "h": 18 } }, { @@ -1459,7 +1438,7 @@ } }, { - "filename": "462", + "filename": "479-mow", "rotated": false, "trimmed": true, "sourceSize": { @@ -1467,16 +1446,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 26, - "h": 24 + "x": 8, + "y": 5, + "w": 24, + "h": 25 }, "frame": { "x": 226, "y": 94, - "w": 26, - "h": 24 + "w": 24, + "h": 25 } }, { @@ -1501,7 +1480,7 @@ } }, { - "filename": "462s", + "filename": "479s-mow", "rotated": false, "trimmed": true, "sourceSize": { @@ -1509,20 +1488,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 26, - "h": 24 + "x": 8, + "y": 5, + "w": 24, + "h": 25 }, "frame": { "x": 226, - "y": 118, - "w": 26, - "h": 24 + "y": 119, + "w": 24, + "h": 25 } }, { - "filename": "482", + "filename": "426", "rotated": false, "trimmed": true, "sourceSize": { @@ -1530,20 +1509,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, + "x": 8, "y": 4, - "w": 26, + "w": 24, "h": 24 }, "frame": { "x": 226, - "y": 142, - "w": 26, + "y": 144, + "w": 24, "h": 24 } }, { - "filename": "450", + "filename": "450-f", "rotated": false, "trimmed": true, "sourceSize": { @@ -1563,27 +1542,6 @@ "h": 20 } }, - { - "filename": "482s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 26, - "h": 24 - }, - "frame": { - "x": 226, - "y": 166, - "w": 26, - "h": 24 - } - }, { "filename": "469", "rotated": false, @@ -1732,7 +1690,7 @@ } }, { - "filename": "411", + "filename": "462", "rotated": false, "trimmed": true, "sourceSize": { @@ -1740,37 +1698,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 7, - "y": 5, + "x": 6, + "y": 4, "w": 26, - "h": 23 + "h": 24 }, "frame": { "x": 172, "y": 150, "w": 26, - "h": 23 - } - }, - { - "filename": "479-wash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 28, - "h": 22 - }, - "frame": { - "x": 198, - "y": 168, - "w": 28, - "h": 22 + "h": 24 } }, { @@ -2131,7 +2068,7 @@ } }, { - "filename": "411s", + "filename": "411", "rotated": false, "trimmed": true, "sourceSize": { @@ -2215,7 +2152,7 @@ } }, { - "filename": "479-mow", + "filename": "462s", "rotated": false, "trimmed": true, "sourceSize": { @@ -2223,62 +2160,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 24, - "h": 25 + "x": 6, + "y": 4, + "w": 26, + "h": 24 }, "frame": { "x": 56, "y": 353, - "w": 24, - "h": 25 + "w": 26, + "h": 24 } }, { - "filename": "479s-mow", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 24, - "h": 25 - }, - "frame": { - "x": 28, - "y": 454, - "w": 24, - "h": 25 - } - }, - { - "filename": "395s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 3, - "w": 23, - "h": 25 - }, - "frame": { - "x": 28, - "y": 479, - "w": 23, - "h": 25 - } - }, - { - "filename": "398", + "filename": "482", "rotated": false, "trimmed": true, "sourceSize": { @@ -2288,58 +2183,58 @@ "spriteSourceSize": { "x": 10, "y": 4, - "w": 23, - "h": 25 - }, - "frame": { - "x": 28, - "y": 504, - "w": 23, - "h": 25 - } - }, - { - "filename": "398s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 23, - "h": 25 - }, - "frame": { - "x": 28, - "y": 529, - "w": 23, - "h": 25 - } - }, - { - "filename": "426", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 24, + "w": 26, "h": 24 }, "frame": { "x": 56, - "y": 378, - "w": 24, + "y": 377, + "w": 26, "h": 24 } }, + { + "filename": "482s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 26, + "h": 24 + }, + "frame": { + "x": 28, + "y": 454, + "w": 26, + "h": 24 + } + }, + { + "filename": "411s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 26, + "h": 23 + }, + "frame": { + "x": 28, + "y": 478, + "w": 26, + "h": 23 + } + }, { "filename": "455", "rotated": false, @@ -2355,8 +2250,8 @@ "h": 23 }, "frame": { - "x": 53, - "y": 402, + "x": 28, + "y": 501, "w": 27, "h": 23 } @@ -2376,119 +2271,14 @@ "h": 23 }, "frame": { - "x": 53, - "y": 425, + "x": 28, + "y": 524, "w": 27, "h": 23 } }, { - "filename": "426s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 28, - "y": 554, - "w": 24, - "h": 24 - } - }, - { - "filename": "409", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 25, - "h": 23 - }, - "frame": { - "x": 28, - "y": 578, - "w": 25, - "h": 23 - } - }, - { - "filename": "409s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 25, - "h": 23 - }, - "frame": { - "x": 28, - "y": 601, - "w": 25, - "h": 23 - } - }, - { - "filename": "466", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 26, - "h": 23 - }, - "frame": { - "x": 28, - "y": 624, - "w": 26, - "h": 23 - } - }, - { - "filename": "492-land", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 12, - "w": 18, - "h": 16 - }, - "frame": { - "x": 40, - "y": 647, - "w": 18, - "h": 16 - } - }, - { - "filename": "416", + "filename": "471", "rotated": false, "trimmed": true, "sourceSize": { @@ -2497,15 +2287,78 @@ }, "spriteSourceSize": { "x": 6, - "y": 6, - "w": 26, - "h": 21 + "y": 5, + "w": 27, + "h": 23 }, "frame": { - "x": 172, - "y": 173, - "w": 26, - "h": 21 + "x": 28, + "y": 547, + "w": 27, + "h": 23 + } + }, + { + "filename": "471s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 27, + "h": 23 + }, + "frame": { + "x": 28, + "y": 570, + "w": 27, + "h": 23 + } + }, + { + "filename": "464", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 27, + "h": 22 + }, + "frame": { + "x": 28, + "y": 593, + "w": 27, + "h": 22 + } + }, + { + "filename": "464s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 27, + "h": 22 + }, + "frame": { + "x": 28, + "y": 615, + "w": 27, + "h": 22 } }, { @@ -2635,7 +2488,7 @@ } }, { - "filename": "471", + "filename": "479-wash", "rotated": false, "trimmed": true, "sourceSize": { @@ -2643,58 +2496,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 27, - "h": 23 - }, - "frame": { - "x": 141, - "y": 218, - "w": 27, - "h": 23 - } - }, - { - "filename": "471s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 27, - "h": 23 - }, - "frame": { - "x": 112, - "y": 262, - "w": 27, - "h": 23 - } - }, - { - "filename": "437", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, + "x": 8, "y": 6, - "w": 27, - "h": 21 + "w": 28, + "h": 22 }, "frame": { - "x": 141, - "y": 241, - "w": 27, - "h": 21 + "x": 170, + "y": 174, + "w": 28, + "h": 22 } }, { @@ -2712,14 +2523,35 @@ "h": 22 }, "frame": { - "x": 139, - "y": 262, + "x": 198, + "y": 168, "w": 28, "h": 22 } }, { - "filename": "464", + "filename": "426s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 226, + "y": 168, + "w": 24, + "h": 24 + } + }, + { + "filename": "466", "rotated": false, "trimmed": true, "sourceSize": { @@ -2728,19 +2560,187 @@ }, "spriteSourceSize": { "x": 7, + "y": 5, + "w": 26, + "h": 23 + }, + "frame": { + "x": 141, + "y": 218, + "w": 26, + "h": 23 + } + }, + { + "filename": "466s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 26, + "h": 23 + }, + "frame": { + "x": 112, + "y": 262, + "w": 26, + "h": 23 + } + }, + { + "filename": "473", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, "y": 6, "w": 27, "h": 22 }, "frame": { "x": 170, - "y": 194, + "y": 196, "w": 27, "h": 22 } }, { - "filename": "450-f", + "filename": "473s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 27, + "h": 22 + }, + "frame": { + "x": 167, + "y": 218, + "w": 27, + "h": 22 + } + }, + { + "filename": "416", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 26, + "h": 21 + }, + "frame": { + "x": 141, + "y": 241, + "w": 26, + "h": 21 + } + }, + { + "filename": "409", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 25, + "h": 23 + }, + "frame": { + "x": 138, + "y": 262, + "w": 25, + "h": 23 + } + }, + { + "filename": "428", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 167, + "y": 240, + "w": 26, + "h": 22 + } + }, + { + "filename": "409s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 25, + "h": 23 + }, + "frame": { + "x": 163, + "y": 262, + "w": 25, + "h": 23 + } + }, + { + "filename": "429", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 2, + "w": 19, + "h": 28 + }, + "frame": { + "x": 50, + "y": 637, + "w": 19, + "h": 28 + } + }, + { + "filename": "450", "rotated": false, "trimmed": true, "sourceSize": { @@ -2761,448 +2761,7 @@ } }, { - "filename": "464s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 27, - "h": 22 - }, - "frame": { - "x": 81, - "y": 308, - "w": 27, - "h": 22 - } - }, - { - "filename": "466s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 26, - "h": 23 - }, - "frame": { - "x": 81, - "y": 330, - "w": 26, - "h": 23 - } - }, - { - "filename": "473", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 27, - "h": 22 - }, - "frame": { - "x": 80, - "y": 353, - "w": 27, - "h": 22 - } - }, - { - "filename": "473s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 27, - "h": 22 - }, - "frame": { - "x": 80, - "y": 375, - "w": 27, - "h": 22 - } - }, - { - "filename": "428", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 80, - "y": 397, - "w": 26, - "h": 22 - } - }, - { - "filename": "428s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 80, - "y": 419, - "w": 26, - "h": 22 - } - }, - { - "filename": "416s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 26, - "h": 21 - }, - "frame": { - "x": 80, - "y": 441, - "w": 26, - "h": 21 - } - }, - { - "filename": "437s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 27, - "h": 21 - }, - "frame": { - "x": 53, - "y": 448, - "w": 27, - "h": 21 - } - }, - { - "filename": "450s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 28, - "h": 20 - }, - "frame": { - "x": 52, - "y": 469, - "w": 28, - "h": 20 - } - }, - { - "filename": "430", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 80, - "y": 462, - "w": 26, - "h": 22 - } - }, - { - "filename": "430s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 51, - "y": 489, - "w": 26, - "h": 22 - } - }, - { - "filename": "431", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 51, - "y": 511, - "w": 26, - "h": 22 - } - }, - { - "filename": "479-fan", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 26, - "h": 21 - }, - "frame": { - "x": 51, - "y": 533, - "w": 26, - "h": 21 - } - }, - { - "filename": "413-sandy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 52, - "y": 554, - "w": 24, - "h": 23 - } - }, - { - "filename": "429", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 2, - "w": 19, - "h": 28 - }, - "frame": { - "x": 53, - "y": 577, - "w": 19, - "h": 28 - } - }, - { - "filename": "408", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 9, - "w": 21, - "h": 19 - }, - "frame": { - "x": 53, - "y": 605, - "w": 21, - "h": 19 - } - }, - { - "filename": "391", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 22, - "h": 23 - }, - "frame": { - "x": 54, - "y": 624, - "w": 22, - "h": 23 - } - }, - { - "filename": "492s-land", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 12, - "w": 18, - "h": 16 - }, - "frame": { - "x": 58, - "y": 647, - "w": 18, - "h": 16 - } - }, - { - "filename": "429s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 2, - "w": 19, - "h": 28 - }, - "frame": { - "x": 72, - "y": 577, - "w": 19, - "h": 28 - } - }, - { - "filename": "391s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 22, - "h": 23 - }, - "frame": { - "x": 76, - "y": 554, - "w": 22, - "h": 23 - } - }, - { - "filename": "408s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 9, - "w": 21, - "h": 19 - }, - "frame": { - "x": 74, - "y": 605, - "w": 21, - "h": 19 - } - }, - { - "filename": "475", + "filename": "395s", "rotated": false, "trimmed": true, "sourceSize": { @@ -3212,13 +2771,76 @@ "spriteSourceSize": { "x": 10, "y": 3, - "w": 22, + "w": 23, "h": 25 }, "frame": { - "x": 76, - "y": 624, - "w": 22, + "x": 81, + "y": 308, + "w": 23, + "h": 25 + } + }, + { + "filename": "414", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 7, + "w": 25, + "h": 20 + }, + "frame": { + "x": 81, + "y": 333, + "w": 25, + "h": 20 + } + }, + { + "filename": "398", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 23, + "h": 25 + }, + "frame": { + "x": 82, + "y": 353, + "w": 23, + "h": 25 + } + }, + { + "filename": "398s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 23, + "h": 25 + }, + "frame": { + "x": 82, + "y": 378, + "w": 23, "h": 25 } }, @@ -3244,7 +2866,7 @@ } }, { - "filename": "431s", + "filename": "413-sandy", "rotated": false, "trimmed": true, "sourceSize": { @@ -3252,15 +2874,57 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 + "x": 9, + "y": 5, + "w": 24, + "h": 23 }, "frame": { "x": 226, - "y": 190, - "w": 26, + "y": 192, + "w": 24, + "h": 23 + } + }, + { + "filename": "450s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 28, + "h": 20 + }, + "frame": { + "x": 197, + "y": 210, + "w": 28, + "h": 20 + } + }, + { + "filename": "467", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 225, + "y": 215, + "w": 25, "h": 22 } }, @@ -3279,159 +2943,12 @@ "h": 19 }, "frame": { - "x": 197, - "y": 210, + "x": 194, + "y": 230, "w": 28, "h": 19 } }, - { - "filename": "434", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 9, - "w": 26, - "h": 19 - }, - "frame": { - "x": 225, - "y": 212, - "w": 26, - "h": 19 - } - }, - { - "filename": "475s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 3, - "w": 22, - "h": 25 - }, - "frame": { - "x": 91, - "y": 577, - "w": 22, - "h": 25 - } - }, - { - "filename": "387s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 18, - "h": 22 - }, - "frame": { - "x": 95, - "y": 602, - "w": 18, - "h": 22 - } - }, - { - "filename": "402", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 20, - "h": 24 - }, - "frame": { - "x": 98, - "y": 624, - "w": 20, - "h": 24 - } - }, - { - "filename": "434s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 9, - "w": 26, - "h": 19 - }, - "frame": { - "x": 80, - "y": 484, - "w": 26, - "h": 19 - } - }, - { - "filename": "480", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 77, - "y": 503, - "w": 26, - "h": 22 - } - }, - { - "filename": "480s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 77, - "y": 525, - "w": 26, - "h": 22 - } - }, { "filename": "468s", "rotated": false, @@ -3447,14 +2964,77 @@ "h": 19 }, "frame": { - "x": 112, - "y": 285, + "x": 222, + "y": 237, "w": 28, "h": 19 } }, { - "filename": "479s-fan", + "filename": "437", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 27, + "h": 21 + }, + "frame": { + "x": 193, + "y": 249, + "w": 27, + "h": 21 + } + }, + { + "filename": "437s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 27, + "h": 21 + }, + "frame": { + "x": 220, + "y": 256, + "w": 27, + "h": 21 + } + }, + { + "filename": "416s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 26, + "h": 21 + }, + "frame": { + "x": 188, + "y": 270, + "w": 26, + "h": 21 + } + }, + { + "filename": "428s", "rotated": false, "trimmed": true, "sourceSize": { @@ -3463,19 +3043,19 @@ }, "spriteSourceSize": { "x": 8, - "y": 7, + "y": 6, "w": 26, - "h": 21 + "h": 22 }, "frame": { - "x": 140, - "y": 284, + "x": 214, + "y": 277, "w": 26, - "h": 21 + "h": 22 } }, { - "filename": "414", + "filename": "475", "rotated": false, "trimmed": true, "sourceSize": { @@ -3484,57 +3064,15 @@ }, "spriteSourceSize": { "x": 10, - "y": 7, - "w": 25, - "h": 20 + "y": 3, + "w": 22, + "h": 25 }, "frame": { - "x": 111, - "y": 304, - "w": 25, - "h": 20 - } - }, - { - "filename": "414s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 7, - "w": 25, - "h": 20 - }, - "frame": { - "x": 136, - "y": 305, - "w": 25, - "h": 20 - } - }, - { - "filename": "415", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 9, - "w": 25, - "h": 18 - }, - "frame": { - "x": 108, - "y": 324, - "w": 25, - "h": 18 + "x": 104, + "y": 308, + "w": 22, + "h": 25 } }, { @@ -3552,12 +3090,243 @@ "h": 23 }, "frame": { - "x": 107, - "y": 342, + "x": 112, + "y": 285, "w": 24, "h": 23 } }, + { + "filename": "430", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 136, + "y": 285, + "w": 26, + "h": 22 + } + }, + { + "filename": "430s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 162, + "y": 285, + "w": 26, + "h": 22 + } + }, + { + "filename": "431", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 188, + "y": 291, + "w": 26, + "h": 22 + } + }, + { + "filename": "388", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 7, + "w": 22, + "h": 21 + }, + "frame": { + "x": 106, + "y": 333, + "w": 22, + "h": 21 + } + }, + { + "filename": "429s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 2, + "w": 19, + "h": 28 + }, + "frame": { + "x": 105, + "y": 354, + "w": 19, + "h": 28 + } + }, + { + "filename": "388s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 7, + "w": 22, + "h": 21 + }, + "frame": { + "x": 105, + "y": 382, + "w": 22, + "h": 21 + } + }, + { + "filename": "431s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 214, + "y": 299, + "w": 26, + "h": 22 + } + }, + { + "filename": "475s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 3, + "w": 22, + "h": 25 + }, + "frame": { + "x": 126, + "y": 308, + "w": 22, + "h": 25 + } + }, + { + "filename": "480", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 148, + "y": 307, + "w": 26, + "h": 22 + } + }, + { + "filename": "391", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 22, + "h": 23 + }, + "frame": { + "x": 128, + "y": 333, + "w": 22, + "h": 23 + } + }, + { + "filename": "480s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 124, + "y": 356, + "w": 26, + "h": 22 + } + }, { "filename": "476", "rotated": false, @@ -3573,138 +3342,12 @@ "h": 23 }, "frame": { - "x": 107, - "y": 365, + "x": 150, + "y": 329, "w": 24, "h": 23 } }, - { - "filename": "415s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 9, - "w": 25, - "h": 18 - }, - "frame": { - "x": 133, - "y": 325, - "w": 25, - "h": 18 - } - }, - { - "filename": "467", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 131, - "y": 343, - "w": 25, - "h": 22 - } - }, - { - "filename": "467s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 131, - "y": 365, - "w": 25, - "h": 22 - } - }, - { - "filename": "403", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 7, - "w": 24, - "h": 21 - }, - "frame": { - "x": 107, - "y": 388, - "w": 24, - "h": 21 - } - }, - { - "filename": "470", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 131, - "y": 387, - "w": 25, - "h": 22 - } - }, - { - "filename": "470s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 106, - "y": 409, - "w": 25, - "h": 22 - } - }, { "filename": "476s", "rotated": false, @@ -3720,8 +3363,8 @@ "h": 23 }, "frame": { - "x": 106, - "y": 431, + "x": 150, + "y": 352, "w": 24, "h": 23 } @@ -3741,8 +3384,8 @@ "h": 23 }, "frame": { - "x": 106, - "y": 454, + "x": 127, + "y": 378, "w": 23, "h": 23 } @@ -3762,12 +3405,222 @@ "h": 23 }, "frame": { - "x": 106, - "y": 477, + "x": 150, + "y": 375, "w": 23, "h": 23 } }, + { + "filename": "439", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 7, + "w": 14, + "h": 21 + }, + "frame": { + "x": 174, + "y": 307, + "w": 14, + "h": 21 + } + }, + { + "filename": "434", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 9, + "w": 26, + "h": 19 + }, + "frame": { + "x": 188, + "y": 313, + "w": 26, + "h": 19 + } + }, + { + "filename": "439s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 7, + "w": 14, + "h": 21 + }, + "frame": { + "x": 174, + "y": 328, + "w": 14, + "h": 21 + } + }, + { + "filename": "434s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 9, + "w": 26, + "h": 19 + }, + "frame": { + "x": 188, + "y": 332, + "w": 26, + "h": 19 + } + }, + { + "filename": "467s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 214, + "y": 321, + "w": 25, + "h": 22 + } + }, + { + "filename": "440", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 14, + "h": 19 + }, + "frame": { + "x": 174, + "y": 349, + "w": 14, + "h": 19 + } + }, + { + "filename": "479-fan", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 26, + "h": 21 + }, + "frame": { + "x": 188, + "y": 351, + "w": 26, + "h": 21 + } + }, + { + "filename": "470", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 214, + "y": 343, + "w": 25, + "h": 22 + } + }, + { + "filename": "414s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 7, + "w": 25, + "h": 20 + }, + "frame": { + "x": 214, + "y": 365, + "w": 25, + "h": 20 + } + }, + { + "filename": "479s-fan", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 26, + "h": 21 + }, + "frame": { + "x": 56, + "y": 401, + "w": 26, + "h": 21 + } + }, { "filename": "419", "rotated": false, @@ -3783,14 +3636,14 @@ "h": 21 }, "frame": { - "x": 131, - "y": 409, + "x": 82, + "y": 403, "w": 25, "h": 21 } }, { - "filename": "402s", + "filename": "470s", "rotated": false, "trimmed": true, "sourceSize": { @@ -3798,20 +3651,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 20, - "h": 24 + "x": 8, + "y": 6, + "w": 25, + "h": 22 }, "frame": { - "x": 103, - "y": 503, - "w": 20, - "h": 24 + "x": 53, + "y": 422, + "w": 25, + "h": 22 } }, { - "filename": "388", + "filename": "391s", "rotated": false, "trimmed": true, "sourceSize": { @@ -3820,141 +3673,15 @@ }, "spriteSourceSize": { "x": 9, - "y": 7, - "w": 22, - "h": 21 - }, - "frame": { - "x": 103, - "y": 527, - "w": 22, - "h": 21 - } - }, - { - "filename": "419s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 7, - "w": 25, - "h": 21 - }, - "frame": { - "x": 98, - "y": 548, - "w": 25, - "h": 21 - } - }, - { - "filename": "448-mega", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 4, - "w": 19, - "h": 24 - }, - "frame": { - "x": 123, - "y": 500, - "w": 19, - "h": 24 - } - }, - { - "filename": "448s-mega", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 4, - "w": 19, - "h": 24 - }, - "frame": { - "x": 125, - "y": 524, - "w": 19, - "h": 24 - } - }, - { - "filename": "388s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 7, - "w": 22, - "h": 21 - }, - "frame": { - "x": 123, - "y": 548, - "w": 22, - "h": 21 - } - }, - { - "filename": "451", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, "y": 6, - "w": 24, - "h": 22 + "w": 22, + "h": 23 }, "frame": { - "x": 113, - "y": 569, - "w": 24, - "h": 22 - } - }, - { - "filename": "451s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 24, - "h": 22 - }, - "frame": { - "x": 113, - "y": 591, - "w": 24, - "h": 22 + "x": 107, + "y": 403, + "w": 22, + "h": 23 } }, { @@ -3972,8 +3699,8 @@ "h": 23 }, "frame": { - "x": 137, - "y": 569, + "x": 129, + "y": 401, "w": 22, "h": 23 } @@ -3993,14 +3720,14 @@ "h": 23 }, "frame": { - "x": 137, - "y": 592, + "x": 151, + "y": 398, "w": 22, "h": 23 } }, { - "filename": "390", + "filename": "419s", "rotated": false, "trimmed": true, "sourceSize": { @@ -4008,20 +3735,62 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, + "x": 10, + "y": 7, + "w": 25, + "h": 21 + }, + "frame": { + "x": 78, + "y": 424, + "w": 25, + "h": 21 + } + }, + { + "filename": "403", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 7, + "w": 24, + "h": 21 + }, + "frame": { + "x": 103, + "y": 426, + "w": 24, + "h": 21 + } + }, + { + "filename": "451", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, "y": 6, - "w": 19, + "w": 24, "h": 22 }, "frame": { - "x": 118, - "y": 613, - "w": 19, + "x": 54, + "y": 444, + "w": 24, "h": 22 } }, { - "filename": "400", + "filename": "451s", "rotated": false, "trimmed": true, "sourceSize": { @@ -4029,57 +3798,15 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, + "x": 7, "y": 6, - "w": 22, + "w": 24, "h": 22 }, "frame": { - "x": 137, - "y": 615, - "w": 22, - "h": 22 - } - }, - { - "filename": "390s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 19, - "h": 22 - }, - "frame": { - "x": 118, - "y": 635, - "w": 19, - "h": 22 - } - }, - { - "filename": "400s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 22, - "h": 22 - }, - "frame": { - "x": 137, - "y": 637, - "w": 22, + "x": 54, + "y": 466, + "w": 24, "h": 22 } }, @@ -4098,159 +3825,12 @@ "h": 21 }, "frame": { - "x": 170, - "y": 216, + "x": 78, + "y": 445, "w": 24, "h": 21 } }, - { - "filename": "413-plant", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 168, - "y": 237, - "w": 22, - "h": 23 - } - }, - { - "filename": "449", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 10, - "w": 24, - "h": 18 - }, - "frame": { - "x": 194, - "y": 229, - "w": 24, - "h": 18 - } - }, - { - "filename": "449-f", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 10, - "w": 24, - "h": 18 - }, - "frame": { - "x": 218, - "y": 231, - "w": 24, - "h": 18 - } - }, - { - "filename": "449s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 10, - "w": 24, - "h": 18 - }, - "frame": { - "x": 190, - "y": 247, - "w": 24, - "h": 18 - } - }, - { - "filename": "449s-f", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 10, - "w": 24, - "h": 18 - }, - "frame": { - "x": 214, - "y": 249, - "w": 24, - "h": 18 - } - }, - { - "filename": "439", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 14, - "h": 21 - }, - "frame": { - "x": 238, - "y": 249, - "w": 14, - "h": 21 - } - }, - { - "filename": "413s-plant", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 168, - "y": 260, - "w": 22, - "h": 23 - } - }, { "filename": "423-east", "rotated": false, @@ -4266,8 +3846,8 @@ "h": 22 }, "frame": { - "x": 190, - "y": 265, + "x": 78, + "y": 466, "w": 23, "h": 22 } @@ -4287,33 +3867,12 @@ "h": 22 }, "frame": { - "x": 213, - "y": 267, + "x": 102, + "y": 447, "w": 23, "h": 22 } }, - { - "filename": "412-trash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 5, - "w": 16, - "h": 23 - }, - "frame": { - "x": 236, - "y": 270, - "w": 16, - "h": 23 - } - }, { "filename": "423s-east", "rotated": false, @@ -4329,14 +3888,14 @@ "h": 22 }, "frame": { - "x": 167, - "y": 283, + "x": 101, + "y": 469, "w": 23, "h": 22 } }, { - "filename": "423s-west", + "filename": "413-plant", "rotated": false, "trimmed": true, "sourceSize": { @@ -4344,62 +3903,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 190, - "y": 287, - "w": 23, - "h": 22 - } - }, - { - "filename": "432", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 23, - "h": 21 - }, - "frame": { - "x": 213, - "y": 289, - "w": 23, - "h": 21 - } - }, - { - "filename": "412s-trash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, + "x": 9, "y": 5, - "w": 16, + "w": 22, "h": 23 }, "frame": { - "x": 236, - "y": 293, - "w": 16, + "x": 55, + "y": 488, + "w": 22, "h": 23 } }, { - "filename": "432s", + "filename": "413s-plant", "rotated": false, "trimmed": true, "sourceSize": { @@ -4407,37 +3924,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 23, - "h": 21 + "x": 9, + "y": 5, + "w": 22, + "h": 23 }, "frame": { - "x": 161, - "y": 305, - "w": 23, - "h": 21 - } - }, - { - "filename": "433", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 23, - "h": 19 - }, - "frame": { - "x": 158, - "y": 326, - "w": 23, - "h": 19 + "x": 77, + "y": 488, + "w": 22, + "h": 23 } }, { @@ -4455,8 +3951,8 @@ "h": 23 }, "frame": { - "x": 156, - "y": 345, + "x": 55, + "y": 511, "w": 22, "h": 23 } @@ -4476,12 +3972,33 @@ "h": 23 }, "frame": { - "x": 156, - "y": 368, + "x": 77, + "y": 511, "w": 22, "h": 23 } }, + { + "filename": "423s-west", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 55, + "y": 534, + "w": 23, + "h": 22 + } + }, { "filename": "457", "rotated": false, @@ -4497,75 +4014,12 @@ "h": 23 }, "frame": { - "x": 156, - "y": 391, + "x": 55, + "y": 556, "w": 22, "h": 23 } }, - { - "filename": "433s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 23, - "h": 19 - }, - "frame": { - "x": 156, - "y": 414, - "w": 23, - "h": 19 - } - }, - { - "filename": "444", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 23, - "h": 21 - }, - "frame": { - "x": 184, - "y": 309, - "w": 23, - "h": 21 - } - }, - { - "filename": "444s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 23, - "h": 21 - }, - "frame": { - "x": 207, - "y": 310, - "w": 23, - "h": 21 - } - }, { "filename": "457s", "rotated": false, @@ -4581,33 +4035,12 @@ "h": 23 }, "frame": { - "x": 230, - "y": 316, + "x": 55, + "y": 579, "w": 22, "h": 23 } }, - { - "filename": "489", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 11, - "w": 23, - "h": 17 - }, - "frame": { - "x": 181, - "y": 330, - "w": 23, - "h": 17 - } - }, { "filename": "463", "rotated": false, @@ -4623,12 +4056,33 @@ "h": 23 }, "frame": { - "x": 178, - "y": 347, + "x": 55, + "y": 602, "w": 22, "h": 23 } }, + { + "filename": "400", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 22, + "h": 22 + }, + "frame": { + "x": 78, + "y": 534, + "w": 22, + "h": 22 + } + }, { "filename": "463s", "rotated": false, @@ -4644,14 +4098,77 @@ "h": 23 }, "frame": { - "x": 178, - "y": 370, + "x": 77, + "y": 556, "w": 22, "h": 23 } }, { - "filename": "474", + "filename": "400s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 22, + "h": 22 + }, + "frame": { + "x": 77, + "y": 579, + "w": 22, + "h": 22 + } + }, + { + "filename": "402", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 20, + "h": 24 + }, + "frame": { + "x": 77, + "y": 601, + "w": 20, + "h": 24 + } + }, + { + "filename": "402s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 20, + "h": 24 + }, + "frame": { + "x": 99, + "y": 491, + "w": 20, + "h": 24 + } + }, + { + "filename": "408", "rotated": false, "trimmed": true, "sourceSize": { @@ -4660,15 +4177,15 @@ }, "spriteSourceSize": { "x": 9, - "y": 6, + "y": 9, "w": 21, - "h": 21 + "h": 19 }, "frame": { - "x": 178, - "y": 393, + "x": 99, + "y": 515, "w": 21, - "h": 21 + "h": 19 } }, { @@ -4686,33 +4203,12 @@ "h": 22 }, "frame": { - "x": 179, - "y": 414, + "x": 100, + "y": 534, "w": 20, "h": 22 } }, - { - "filename": "489s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 11, - "w": 23, - "h": 17 - }, - "frame": { - "x": 204, - "y": 331, - "w": 23, - "h": 17 - } - }, { "filename": "460", "rotated": false, @@ -4728,8 +4224,8 @@ "h": 23 }, "frame": { - "x": 200, - "y": 348, + "x": 99, + "y": 556, "w": 21, "h": 23 } @@ -4749,12 +4245,117 @@ "h": 22 }, "frame": { - "x": 200, - "y": 371, + "x": 99, + "y": 579, "w": 21, "h": 22 } }, + { + "filename": "432", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 23, + "h": 21 + }, + "frame": { + "x": 97, + "y": 601, + "w": 23, + "h": 21 + } + }, + { + "filename": "432s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 23, + "h": 21 + }, + "frame": { + "x": 69, + "y": 625, + "w": 23, + "h": 21 + } + }, + { + "filename": "433", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 23, + "h": 19 + }, + "frame": { + "x": 69, + "y": 646, + "w": 23, + "h": 19 + } + }, + { + "filename": "448-mega", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 4, + "w": 19, + "h": 24 + }, + "frame": { + "x": 119, + "y": 491, + "w": 19, + "h": 24 + } + }, + { + "filename": "448s-mega", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 4, + "w": 19, + "h": 24 + }, + "frame": { + "x": 120, + "y": 515, + "w": 19, + "h": 24 + } + }, { "filename": "460s", "rotated": false, @@ -4770,285 +4371,12 @@ "h": 23 }, "frame": { - "x": 199, - "y": 393, + "x": 120, + "y": 539, "w": 21, "h": 23 } }, - { - "filename": "418", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 21, - "h": 20 - }, - "frame": { - "x": 199, - "y": 416, - "w": 21, - "h": 20 - } - }, - { - "filename": "412-sandy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 5, - "w": 15, - "h": 23 - }, - "frame": { - "x": 221, - "y": 348, - "w": 15, - "h": 23 - } - }, - { - "filename": "478", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 16, - "h": 22 - }, - "frame": { - "x": 236, - "y": 339, - "w": 16, - "h": 22 - } - }, - { - "filename": "478s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 16, - "h": 22 - }, - "frame": { - "x": 236, - "y": 361, - "w": 16, - "h": 22 - } - }, - { - "filename": "412s-sandy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 5, - "w": 15, - "h": 23 - }, - "frame": { - "x": 221, - "y": 371, - "w": 15, - "h": 23 - } - }, - { - "filename": "448", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 7, - "w": 16, - "h": 21 - }, - "frame": { - "x": 236, - "y": 383, - "w": 16, - "h": 21 - } - }, - { - "filename": "448s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 7, - "w": 16, - "h": 21 - }, - "frame": { - "x": 220, - "y": 394, - "w": 16, - "h": 21 - } - }, - { - "filename": "421-overcast", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 8, - "w": 16, - "h": 20 - }, - "frame": { - "x": 236, - "y": 404, - "w": 16, - "h": 20 - } - }, - { - "filename": "421s-overcast", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 8, - "w": 16, - "h": 20 - }, - "frame": { - "x": 220, - "y": 415, - "w": 16, - "h": 20 - } - }, - { - "filename": "425", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 15, - "h": 22 - }, - "frame": { - "x": 236, - "y": 424, - "w": 15, - "h": 22 - } - }, - { - "filename": "394", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 17, - "h": 22 - }, - "frame": { - "x": 129, - "y": 454, - "w": 17, - "h": 22 - } - }, - { - "filename": "394s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 17, - "h": 22 - }, - "frame": { - "x": 129, - "y": 476, - "w": 17, - "h": 22 - } - }, - { - "filename": "421-sunshine", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 7, - "w": 20, - "h": 21 - }, - "frame": { - "x": 130, - "y": 433, - "w": 20, - "h": 21 - } - }, { "filename": "454s", "rotated": false, @@ -5064,8 +4392,8 @@ "h": 22 }, "frame": { - "x": 150, - "y": 433, + "x": 120, + "y": 562, "w": 21, "h": 22 } @@ -5085,14 +4413,77 @@ "h": 22 }, "frame": { - "x": 146, - "y": 455, + "x": 120, + "y": 584, "w": 21, "h": 22 } }, { - "filename": "474s", + "filename": "387s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 124, + "y": 469, + "w": 18, + "h": 22 + } + }, + { + "filename": "390", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 19, + "h": 22 + }, + "frame": { + "x": 125, + "y": 447, + "w": 19, + "h": 22 + } + }, + { + "filename": "421-sunshine", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 7, + "w": 20, + "h": 21 + }, + "frame": { + "x": 127, + "y": 426, + "w": 20, + "h": 21 + } + }, + { + "filename": "408s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5101,19 +4492,19 @@ }, "spriteSourceSize": { "x": 9, - "y": 6, + "y": 9, "w": 21, - "h": 21 + "h": 19 }, "frame": { - "x": 146, - "y": 477, + "x": 120, + "y": 606, "w": 21, - "h": 21 + "h": 19 } }, { - "filename": "492s-sky", + "filename": "433s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5121,20 +4512,41 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 21, - "h": 22 + "x": 12, + "y": 9, + "w": 23, + "h": 19 }, "frame": { - "x": 142, - "y": 498, - "w": 21, - "h": 22 + "x": 97, + "y": 622, + "w": 23, + "h": 19 } }, { - "filename": "407s", + "filename": "444", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 23, + "h": 21 + }, + "frame": { + "x": 92, + "y": 641, + "w": 23, + "h": 21 + } + }, + { + "filename": "418", "rotated": false, "trimmed": true, "sourceSize": { @@ -5143,36 +4555,15 @@ }, "spriteSourceSize": { "x": 10, - "y": 6, - "w": 20, - "h": 22 + "y": 8, + "w": 21, + "h": 20 }, "frame": { - "x": 144, - "y": 520, - "w": 20, - "h": 22 - } - }, - { - "filename": "441", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 20, - "h": 22 - }, - "frame": { - "x": 145, - "y": 542, - "w": 20, - "h": 22 + "x": 120, + "y": 625, + "w": 21, + "h": 20 } }, { @@ -5190,8 +4581,8 @@ "h": 20 }, "frame": { - "x": 171, - "y": 436, + "x": 115, + "y": 645, "w": 22, "h": 20 } @@ -5211,14 +4602,14 @@ "h": 20 }, "frame": { - "x": 193, - "y": 436, + "x": 137, + "y": 645, "w": 22, "h": 20 } }, { - "filename": "441s", + "filename": "412-sandy", "rotated": false, "trimmed": true, "sourceSize": { @@ -5226,104 +4617,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 20, - "h": 22 + "x": 13, + "y": 5, + "w": 15, + "h": 23 }, "frame": { - "x": 167, - "y": 456, - "w": 20, - "h": 22 + "x": 138, + "y": 491, + "w": 15, + "h": 23 } }, { - "filename": "418s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 21, - "h": 20 - }, - "frame": { - "x": 187, - "y": 456, - "w": 21, - "h": 20 - } - }, - { - "filename": "410", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 20, - "h": 20 - }, - "frame": { - "x": 167, - "y": 478, - "w": 20, - "h": 20 - } - }, - { - "filename": "461", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 19, - "h": 22 - }, - "frame": { - "x": 163, - "y": 498, - "w": 19, - "h": 22 - } - }, - { - "filename": "421s-sunshine", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 7, - "w": 20, - "h": 21 - }, - "frame": { - "x": 187, - "y": 476, - "w": 20, - "h": 21 - } - }, - { - "filename": "427", + "filename": "412-trash", "rotated": false, "trimmed": true, "sourceSize": { @@ -5332,14 +4639,119 @@ }, "spriteSourceSize": { "x": 12, + "y": 5, + "w": 16, + "h": 23 + }, + "frame": { + "x": 139, + "y": 514, + "w": 16, + "h": 23 + } + }, + { + "filename": "390s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, "y": 6, - "w": 18, + "w": 19, "h": 22 }, "frame": { - "x": 164, - "y": 520, - "w": 18, + "x": 142, + "y": 469, + "w": 19, + "h": 22 + } + }, + { + "filename": "394", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 17, + "h": 22 + }, + "frame": { + "x": 144, + "y": 447, + "w": 17, + "h": 22 + } + }, + { + "filename": "412s-sandy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 5, + "w": 15, + "h": 23 + }, + "frame": { + "x": 147, + "y": 424, + "w": 15, + "h": 23 + } + }, + { + "filename": "412s-trash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 5, + "w": 16, + "h": 23 + }, + "frame": { + "x": 141, + "y": 537, + "w": 16, + "h": 23 + } + }, + { + "filename": "394s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 17, + "h": 22 + }, + "frame": { + "x": 141, + "y": 560, + "w": 17, "h": 22 } }, @@ -5358,138 +4770,12 @@ "h": 22 }, "frame": { - "x": 165, - "y": 542, + "x": 141, + "y": 582, "w": 17, "h": 22 } }, - { - "filename": "442", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 21, - "h": 20 - }, - "frame": { - "x": 159, - "y": 564, - "w": 21, - "h": 20 - } - }, - { - "filename": "442s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 21, - "h": 20 - }, - "frame": { - "x": 159, - "y": 584, - "w": 21, - "h": 20 - } - }, - { - "filename": "459", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 21, - "h": 20 - }, - "frame": { - "x": 159, - "y": 604, - "w": 21, - "h": 20 - } - }, - { - "filename": "459s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 21, - "h": 20 - }, - "frame": { - "x": 159, - "y": 624, - "w": 21, - "h": 20 - } - }, - { - "filename": "443", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 9, - "w": 19, - "h": 19 - }, - "frame": { - "x": 159, - "y": 644, - "w": 19, - "h": 19 - } - }, - { - "filename": "443s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 9, - "w": 19, - "h": 19 - }, - "frame": { - "x": 178, - "y": 644, - "w": 19, - "h": 19 - } - }, { "filename": "401s", "rotated": false, @@ -5505,14 +4791,35 @@ "h": 22 }, "frame": { - "x": 208, - "y": 456, + "x": 141, + "y": 604, "w": 17, "h": 22 } }, { - "filename": "410s", + "filename": "443", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 9, + "w": 19, + "h": 19 + }, + "frame": { + "x": 141, + "y": 626, + "w": 19, + "h": 19 + } + }, + { + "filename": "418s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5522,18 +4829,18 @@ "spriteSourceSize": { "x": 10, "y": 8, - "w": 20, + "w": 21, "h": 20 }, "frame": { - "x": 207, - "y": 478, - "w": 20, + "x": 159, + "y": 645, + "w": 21, "h": 20 } }, { - "filename": "422-east", + "filename": "407s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5541,20 +4848,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, - "y": 8, - "w": 19, - "h": 20 + "x": 10, + "y": 6, + "w": 20, + "h": 22 }, "frame": { - "x": 215, - "y": 436, - "w": 19, - "h": 20 + "x": 153, + "y": 491, + "w": 20, + "h": 22 } }, { - "filename": "427s", + "filename": "427", "rotated": false, "trimmed": true, "sourceSize": { @@ -5568,8 +4875,8 @@ "h": 22 }, "frame": { - "x": 234, - "y": 446, + "x": 155, + "y": 513, "w": 18, "h": 22 } @@ -5589,8 +4896,8 @@ "h": 22 }, "frame": { - "x": 182, - "y": 498, + "x": 157, + "y": 535, "w": 17, "h": 22 } @@ -5610,14 +4917,35 @@ "h": 22 }, "frame": { - "x": 182, - "y": 520, + "x": 158, + "y": 557, "w": 17, "h": 22 } }, { - "filename": "461s", + "filename": "427s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 158, + "y": 579, + "w": 18, + "h": 22 + } + }, + { + "filename": "441", "rotated": false, "trimmed": true, "sourceSize": { @@ -5627,18 +4955,18 @@ "spriteSourceSize": { "x": 10, "y": 6, - "w": 19, + "w": 20, "h": 22 }, "frame": { - "x": 182, - "y": 542, - "w": 19, + "x": 158, + "y": 601, + "w": 20, "h": 22 } }, { - "filename": "494", + "filename": "441s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5646,62 +4974,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, + "x": 10, "y": 6, - "w": 18, + "w": 20, "h": 22 }, "frame": { - "x": 180, - "y": 564, - "w": 18, + "x": 160, + "y": 623, + "w": 20, "h": 22 } }, { - "filename": "494s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 18, - "h": 22 - }, - "frame": { - "x": 180, - "y": 586, - "w": 18, - "h": 22 - } - }, - { - "filename": "422s-east", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 180, - "y": 608, - "w": 19, - "h": 20 - } - }, - { - "filename": "436", + "filename": "425", "rotated": false, "trimmed": true, "sourceSize": { @@ -5710,19 +4996,19 @@ }, "spriteSourceSize": { "x": 13, - "y": 12, - "w": 13, - "h": 16 + "y": 7, + "w": 15, + "h": 22 }, "frame": { - "x": 180, - "y": 628, - "w": 13, - "h": 16 + "x": 162, + "y": 421, + "w": 15, + "h": 22 } }, { - "filename": "456", + "filename": "440s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5730,20 +5016,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, + "x": 13, "y": 9, - "w": 20, - "h": 18 + "w": 14, + "h": 19 }, "frame": { - "x": 199, - "y": 498, - "w": 20, - "h": 18 + "x": 174, + "y": 368, + "w": 14, + "h": 19 } }, { - "filename": "456s", + "filename": "449-f", "rotated": false, "trimmed": true, "sourceSize": { @@ -5751,15 +5037,15 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, - "y": 9, - "w": 20, + "x": 8, + "y": 10, + "w": 24, "h": 18 }, "frame": { - "x": 199, - "y": 516, - "w": 20, + "x": 188, + "y": 372, + "w": 24, "h": 18 } }, @@ -5778,12 +5064,369 @@ "h": 22 }, "frame": { - "x": 219, - "y": 498, + "x": 173, + "y": 387, "w": 15, "h": 22 } }, + { + "filename": "444s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 23, + "h": 21 + }, + "frame": { + "x": 188, + "y": 390, + "w": 23, + "h": 21 + } + }, + { + "filename": "449", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 10, + "w": 24, + "h": 18 + }, + "frame": { + "x": 212, + "y": 385, + "w": 24, + "h": 18 + } + }, + { + "filename": "446", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 14, + "h": 19 + }, + "frame": { + "x": 236, + "y": 385, + "w": 14, + "h": 19 + } + }, + { + "filename": "449s-f", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 10, + "w": 24, + "h": 18 + }, + "frame": { + "x": 211, + "y": 403, + "w": 24, + "h": 18 + } + }, + { + "filename": "446s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 14, + "h": 19 + }, + "frame": { + "x": 235, + "y": 404, + "w": 14, + "h": 19 + } + }, + { + "filename": "461", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 19, + "h": 22 + }, + "frame": { + "x": 161, + "y": 447, + "w": 19, + "h": 22 + } + }, + { + "filename": "461s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 19, + "h": 22 + }, + "frame": { + "x": 161, + "y": 469, + "w": 19, + "h": 22 + } + }, + { + "filename": "478", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 16, + "h": 22 + }, + "frame": { + "x": 173, + "y": 491, + "w": 16, + "h": 22 + } + }, + { + "filename": "478s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 16, + "h": 22 + }, + "frame": { + "x": 173, + "y": 513, + "w": 16, + "h": 22 + } + }, + { + "filename": "492s-sky", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 21, + "h": 22 + }, + "frame": { + "x": 174, + "y": 535, + "w": 21, + "h": 22 + } + }, + { + "filename": "421s-sunshine", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 7, + "w": 20, + "h": 21 + }, + "frame": { + "x": 175, + "y": 557, + "w": 20, + "h": 21 + } + }, + { + "filename": "474", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 176, + "y": 578, + "w": 21, + "h": 21 + } + }, + { + "filename": "474s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 178, + "y": 599, + "w": 21, + "h": 21 + } + }, + { + "filename": "410", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 20, + "h": 20 + }, + "frame": { + "x": 180, + "y": 620, + "w": 20, + "h": 20 + } + }, + { + "filename": "410s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 20, + "h": 20 + }, + "frame": { + "x": 180, + "y": 640, + "w": 20, + "h": 20 + } + }, + { + "filename": "421-overcast", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 16, + "h": 20 + }, + "frame": { + "x": 195, + "y": 411, + "w": 16, + "h": 20 + } + }, + { + "filename": "449s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 10, + "w": 24, + "h": 18 + }, + "frame": { + "x": 211, + "y": 421, + "w": 24, + "h": 18 + } + }, { "filename": "420", "rotated": false, @@ -5799,8 +5442,8 @@ "h": 18 }, "frame": { - "x": 234, - "y": 468, + "x": 177, + "y": 411, "w": 18, "h": 18 } @@ -5820,12 +5463,117 @@ "h": 18 }, "frame": { - "x": 234, - "y": 486, + "x": 177, + "y": 429, "w": 18, "h": 18 } }, + { + "filename": "421s-overcast", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 16, + "h": 20 + }, + "frame": { + "x": 195, + "y": 431, + "w": 16, + "h": 20 + } + }, + { + "filename": "489", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 11, + "w": 23, + "h": 17 + }, + "frame": { + "x": 211, + "y": 439, + "w": 23, + "h": 17 + } + }, + { + "filename": "448", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 7, + "w": 16, + "h": 21 + }, + "frame": { + "x": 234, + "y": 439, + "w": 16, + "h": 21 + } + }, + { + "filename": "436", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 12, + "w": 13, + "h": 16 + }, + "frame": { + "x": 235, + "y": 423, + "w": 13, + "h": 16 + } + }, + { + "filename": "393", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 13, + "h": 19 + }, + "frame": { + "x": 180, + "y": 447, + "w": 13, + "h": 19 + } + }, { "filename": "447", "rotated": false, @@ -5841,12 +5589,327 @@ "h": 18 }, "frame": { - "x": 234, - "y": 504, + "x": 193, + "y": 451, "w": 18, "h": 18 } }, + { + "filename": "489s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 11, + "w": 23, + "h": 17 + }, + "frame": { + "x": 211, + "y": 456, + "w": 23, + "h": 17 + } + }, + { + "filename": "448s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 7, + "w": 16, + "h": 21 + }, + "frame": { + "x": 234, + "y": 460, + "w": 16, + "h": 21 + } + }, + { + "filename": "393s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 9, + "w": 13, + "h": 19 + }, + "frame": { + "x": 180, + "y": 466, + "w": 13, + "h": 19 + } + }, + { + "filename": "447s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 10, + "w": 18, + "h": 18 + }, + "frame": { + "x": 193, + "y": 469, + "w": 18, + "h": 18 + } + }, + { + "filename": "442", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 21, + "h": 20 + }, + "frame": { + "x": 211, + "y": 473, + "w": 21, + "h": 20 + } + }, + { + "filename": "492-land", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 12, + "w": 18, + "h": 16 + }, + "frame": { + "x": 232, + "y": 481, + "w": 18, + "h": 16 + } + }, + { + "filename": "442s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 21, + "h": 20 + }, + "frame": { + "x": 189, + "y": 487, + "w": 21, + "h": 20 + } + }, + { + "filename": "459", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 21, + "h": 20 + }, + "frame": { + "x": 189, + "y": 507, + "w": 21, + "h": 20 + } + }, + { + "filename": "459s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 21, + "h": 20 + }, + "frame": { + "x": 210, + "y": 493, + "w": 21, + "h": 20 + } + }, + { + "filename": "422-east", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 231, + "y": 497, + "w": 19, + "h": 20 + } + }, + { + "filename": "399", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 12, + "w": 20, + "h": 16 + }, + "frame": { + "x": 210, + "y": 513, + "w": 20, + "h": 16 + } + }, + { + "filename": "456", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 9, + "w": 20, + "h": 18 + }, + "frame": { + "x": 230, + "y": 517, + "w": 20, + "h": 18 + } + }, + { + "filename": "438", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 8, + "w": 12, + "h": 20 + }, + "frame": { + "x": 195, + "y": 527, + "w": 12, + "h": 20 + } + }, + { + "filename": "456s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 9, + "w": 20, + "h": 18 + }, + "frame": { + "x": 207, + "y": 529, + "w": 20, + "h": 18 + } + }, + { + "filename": "422s-east", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 195, + "y": 547, + "w": 19, + "h": 20 + } + }, { "filename": "422-west", "rotated": false, @@ -5862,14 +5925,14 @@ "h": 20 }, "frame": { - "x": 201, - "y": 534, + "x": 214, + "y": 547, "w": 17, "h": 20 } }, { - "filename": "439s", + "filename": "443s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5877,16 +5940,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 14, - "h": 21 + "x": 11, + "y": 9, + "w": 19, + "h": 19 }, "frame": { - "x": 219, - "y": 520, - "w": 14, - "h": 21 + "x": 231, + "y": 535, + "w": 19, + "h": 19 } }, { @@ -5904,8 +5967,8 @@ "h": 18 }, "frame": { - "x": 233, - "y": 522, + "x": 231, + "y": 554, "w": 19, "h": 18 } @@ -5925,12 +5988,54 @@ "h": 18 }, "frame": { - "x": 233, - "y": 540, + "x": 197, + "y": 567, "w": 19, "h": 18 } }, + { + "filename": "406", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 10, + "w": 12, + "h": 18 + }, + "frame": { + "x": 216, + "y": 567, + "w": 12, + "h": 18 + } + }, + { + "filename": "399s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 12, + "w": 20, + "h": 16 + }, + "frame": { + "x": 228, + "y": 572, + "w": 20, + "h": 16 + } + }, { "filename": "422s-west", "rotated": false, @@ -5946,12 +6051,33 @@ "h": 20 }, "frame": { - "x": 201, - "y": 554, + "x": 199, + "y": 585, "w": 17, "h": 20 } }, + { + "filename": "438s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 8, + "w": 12, + "h": 20 + }, + "frame": { + "x": 216, + "y": 585, + "w": 12, + "h": 20 + } + }, { "filename": "458", "rotated": false, @@ -5967,8 +6093,8 @@ "h": 17 }, "frame": { - "x": 198, - "y": 574, + "x": 228, + "y": 588, "w": 20, "h": 17 } @@ -5988,96 +6114,12 @@ "h": 17 }, "frame": { - "x": 198, - "y": 591, + "x": 200, + "y": 605, "w": 20, "h": 17 } }, - { - "filename": "447s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 199, - "y": 608, - "w": 18, - "h": 18 - } - }, - { - "filename": "440", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 14, - "h": 19 - }, - "frame": { - "x": 218, - "y": 541, - "w": 14, - "h": 19 - } - }, - { - "filename": "440s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 14, - "h": 19 - }, - "frame": { - "x": 218, - "y": 560, - "w": 14, - "h": 19 - } - }, - { - "filename": "446", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 14, - "h": 19 - }, - "frame": { - "x": 218, - "y": 579, - "w": 14, - "h": 19 - } - }, { "filename": "453", "rotated": false, @@ -6093,8 +6135,8 @@ "h": 17 }, "frame": { - "x": 232, - "y": 558, + "x": 200, + "y": 622, "w": 17, "h": 17 } @@ -6114,8 +6156,8 @@ "h": 17 }, "frame": { - "x": 232, - "y": 575, + "x": 220, + "y": 605, "w": 17, "h": 17 } @@ -6135,14 +6177,14 @@ "h": 16 }, "frame": { - "x": 193, - "y": 628, + "x": 237, + "y": 605, "w": 13, "h": 16 } }, { - "filename": "446s", + "filename": "492s-land", "rotated": false, "trimmed": true, "sourceSize": { @@ -6150,100 +6192,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 14, - "h": 19 + "x": 12, + "y": 12, + "w": 18, + "h": 16 }, "frame": { - "x": 197, - "y": 644, - "w": 14, - "h": 19 - } - }, - { - "filename": "406", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 12, - "h": 18 - }, - "frame": { - "x": 206, - "y": 626, - "w": 12, - "h": 18 - } - }, - { - "filename": "393", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 9, - "w": 13, - "h": 19 - }, - "frame": { - "x": 211, - "y": 644, - "w": 13, - "h": 19 - } - }, - { - "filename": "393s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 9, - "w": 13, - "h": 19 - }, - "frame": { - "x": 218, - "y": 598, - "w": 13, - "h": 19 - } - }, - { - "filename": "438s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 8, - "w": 12, - "h": 20 - }, - "frame": { - "x": 218, - "y": 617, - "w": 12, - "h": 20 + "x": 217, + "y": 622, + "w": 18, + "h": 16 } }, { @@ -6261,8 +6219,8 @@ "h": 18 }, "frame": { - "x": 231, - "y": 598, + "x": 200, + "y": 639, "w": 12, "h": 18 } @@ -6273,6 +6231,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:d81cce65ebf0d5fbab1f9b7dbc080d4a:2eeffac5a7c6cd09ee563c646d89e345:3f74c54ad2b3085ce7282c3466535f4a$" + "smartupdate": "$TexturePacker:SmartUpdate:840d25653028f4586676114238d98794:576800da918eeca99e7b1b1a0d84af42:3f74c54ad2b3085ce7282c3466535f4a$" } } diff --git a/public/images/pokemon_icons_4.png b/public/images/pokemon_icons_4.png index 5dcfffb557936ef23d8d6e2091b836fb3fc0bac4..9a3fb2cefa9e61d10ee9fafe1a7b24e6af14efd6 100644 GIT binary patch literal 54115 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 literal 54686 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
vD#!n>co67S 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 B*;W7m diff --git a/public/images/pokemon_icons_4v.json b/public/images/pokemon_icons_4v.json index 48c1519d88a..44bced3adc7 100644 --- a/public/images/pokemon_icons_4v.json +++ b/public/images/pokemon_icons_4v.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_4v.png", "format": "RGBA8888", "size": { - "w": 124, - "h": 660 + "w": 123, + "h": 656 }, "scale": 1, "frames": [ @@ -135,6 +135,27 @@ "h": 25 } }, + { + "filename": "445_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 29, + "h": 22 + }, + "frame": { + "x": 94, + "y": 0, + "w": 29, + "h": 22 + } + }, { "filename": "445-mega_3", "rotated": false, @@ -150,12 +171,33 @@ "h": 25 }, "frame": { - "x": 94, - "y": 0, + "x": 0, + "y": 81, "w": 30, "h": 25 } }, + { + "filename": "445_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 29, + "h": 22 + }, + "frame": { + "x": 94, + "y": 22, + "w": 29, + "h": 22 + } + }, { "filename": "487-altered_2", "rotated": false, @@ -171,12 +213,33 @@ "h": 24 }, "frame": { - "x": 0, - "y": 81, + "x": 64, + "y": 25, "w": 30, "h": 24 } }, + { + "filename": "445_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 29, + "h": 22 + }, + "frame": { + "x": 94, + "y": 44, + "w": 29, + "h": 22 + } + }, { "filename": "487-altered_3", "rotated": false, @@ -193,53 +256,11 @@ }, "frame": { "x": 0, - "y": 105, + "y": 106, "w": 30, "h": 24 } }, - { - "filename": "472_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 31, - "h": 22 - }, - "frame": { - "x": 64, - "y": 25, - "w": 31, - "h": 22 - } - }, - { - "filename": "445_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 29, - "h": 22 - }, - "frame": { - "x": 95, - "y": 25, - "w": 29, - "h": 22 - } - }, { "filename": "487-origin_2", "rotated": false, @@ -256,7 +277,7 @@ }, "frame": { "x": 0, - "y": 129, + "y": 130, "w": 28, "h": 25 } @@ -277,7 +298,7 @@ }, "frame": { "x": 0, - "y": 154, + "y": 155, "w": 28, "h": 25 } @@ -298,7 +319,7 @@ }, "frame": { "x": 0, - "y": 179, + "y": 180, "w": 28, "h": 23 } @@ -319,7 +340,7 @@ }, "frame": { "x": 0, - "y": 202, + "y": 203, "w": 28, "h": 23 } @@ -340,7 +361,7 @@ }, "frame": { "x": 0, - "y": 225, + "y": 226, "w": 25, "h": 26 } @@ -361,7 +382,7 @@ }, "frame": { "x": 0, - "y": 251, + "y": 252, "w": 25, "h": 26 } @@ -382,7 +403,7 @@ }, "frame": { "x": 0, - "y": 277, + "y": 278, "w": 25, "h": 26 } @@ -403,7 +424,7 @@ }, "frame": { "x": 0, - "y": 303, + "y": 304, "w": 25, "h": 26 } @@ -424,7 +445,7 @@ }, "frame": { "x": 0, - "y": 329, + "y": 330, "w": 26, "h": 24 } @@ -445,7 +466,7 @@ }, "frame": { "x": 0, - "y": 353, + "y": 354, "w": 26, "h": 24 } @@ -466,7 +487,7 @@ }, "frame": { "x": 0, - "y": 377, + "y": 378, "w": 26, "h": 24 } @@ -487,7 +508,7 @@ }, "frame": { "x": 0, - "y": 401, + "y": 402, "w": 26, "h": 24 } @@ -508,7 +529,7 @@ }, "frame": { "x": 0, - "y": 425, + "y": 426, "w": 26, "h": 24 } @@ -529,7 +550,7 @@ }, "frame": { "x": 0, - "y": 449, + "y": 450, "w": 26, "h": 23 } @@ -550,7 +571,7 @@ }, "frame": { "x": 0, - "y": 472, + "y": 473, "w": 26, "h": 23 } @@ -571,7 +592,7 @@ }, "frame": { "x": 0, - "y": 495, + "y": 496, "w": 26, "h": 23 } @@ -592,7 +613,7 @@ }, "frame": { "x": 0, - "y": 518, + "y": 519, "w": 27, "h": 23 } @@ -613,7 +634,7 @@ }, "frame": { "x": 0, - "y": 541, + "y": 542, "w": 27, "h": 23 } @@ -634,13 +655,55 @@ }, "frame": { "x": 0, - "y": 564, + "y": 565, "w": 27, "h": 23 } }, { - "filename": "445_2", + "filename": "464_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 27, + "h": 22 + }, + "frame": { + "x": 0, + "y": 588, + "w": 27, + "h": 22 + } + }, + { + "filename": "464_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 27, + "h": 22 + }, + "frame": { + "x": 0, + "y": 610, + "w": 27, + "h": 22 + } + }, + { + "filename": "426_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -649,19 +712,19 @@ }, "spriteSourceSize": { "x": 8, - "y": 6, - "w": 29, - "h": 22 + "y": 4, + "w": 24, + "h": 24 }, "frame": { "x": 0, - "y": 587, - "w": 29, - "h": 22 + "y": 632, + "w": 24, + "h": 24 } }, { - "filename": "445_3", + "filename": "426_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -670,36 +733,15 @@ }, "spriteSourceSize": { "x": 8, - "y": 6, - "w": 29, - "h": 22 + "y": 4, + "w": 24, + "h": 24 }, "frame": { - "x": 0, - "y": 609, - "w": 29, - "h": 22 - } - }, - { - "filename": "465_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 29, - "h": 22 - }, - "frame": { - "x": 0, - "y": 631, - "w": 29, - "h": 22 + "x": 24, + "y": 632, + "w": 24, + "h": 24 } }, { @@ -724,49 +766,7 @@ } }, { - "filename": "485_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 8, - "w": 33, - "h": 20 - }, - "frame": { - "x": 64, - "y": 47, - "w": 33, - "h": 20 - } - }, - { - "filename": "464_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 27, - "h": 22 - }, - "frame": { - "x": 97, - "y": 47, - "w": 27, - "h": 22 - } - }, - { - "filename": "472_3", + "filename": "472_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -786,6 +786,69 @@ "h": 22 } }, + { + "filename": "472_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 31, + "h": 22 + }, + "frame": { + "x": 30, + "y": 90, + "w": 31, + "h": 22 + } + }, + { + "filename": "485_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 8, + "w": 33, + "h": 20 + }, + "frame": { + "x": 30, + "y": 112, + "w": 33, + "h": 20 + } + }, + { + "filename": "465_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 29, + "h": 22 + }, + "frame": { + "x": 28, + "y": 132, + "w": 29, + "h": 22 + } + }, { "filename": "465_3", "rotated": false, @@ -801,8 +864,8 @@ "h": 22 }, "frame": { - "x": 30, - "y": 90, + "x": 28, + "y": 154, "w": 29, "h": 22 } @@ -822,8 +885,8 @@ "h": 22 }, "frame": { - "x": 30, - "y": 112, + "x": 28, + "y": 176, "w": 29, "h": 22 } @@ -844,7 +907,7 @@ }, "frame": { "x": 28, - "y": 134, + "y": 198, "w": 29, "h": 22 } @@ -864,558 +927,12 @@ "h": 22 }, "frame": { - "x": 28, - "y": 156, + "x": 64, + "y": 49, "w": 29, "h": 22 } }, - { - "filename": "464_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 27, - "h": 22 - }, - "frame": { - "x": 28, - "y": 178, - "w": 27, - "h": 22 - } - }, - { - "filename": "426_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 28, - "y": 200, - "w": 24, - "h": 24 - } - }, - { - "filename": "429_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 2, - "w": 19, - "h": 28 - }, - "frame": { - "x": 25, - "y": 225, - "w": 19, - "h": 28 - } - }, - { - "filename": "429_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 2, - "w": 19, - "h": 28 - }, - "frame": { - "x": 25, - "y": 253, - "w": 19, - "h": 28 - } - }, - { - "filename": "429_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 2, - "w": 19, - "h": 28 - }, - "frame": { - "x": 25, - "y": 281, - "w": 19, - "h": 28 - } - }, - { - "filename": "414_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 7, - "w": 25, - "h": 20 - }, - "frame": { - "x": 25, - "y": 309, - "w": 25, - "h": 20 - } - }, - { - "filename": "426_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 26, - "y": 329, - "w": 24, - "h": 24 - } - }, - { - "filename": "413-sandy_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 26, - "y": 353, - "w": 24, - "h": 23 - } - }, - { - "filename": "413-sandy_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 26, - "y": 376, - "w": 24, - "h": 23 - } - }, - { - "filename": "413-sandy_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 26, - "y": 399, - "w": 24, - "h": 23 - } - }, - { - "filename": "475_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 3, - "w": 22, - "h": 25 - }, - "frame": { - "x": 26, - "y": 422, - "w": 22, - "h": 25 - } - }, - { - "filename": "475_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 3, - "w": 22, - "h": 25 - }, - "frame": { - "x": 26, - "y": 447, - "w": 22, - "h": 25 - } - }, - { - "filename": "413-plant_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 26, - "y": 472, - "w": 22, - "h": 23 - } - }, - { - "filename": "413-plant_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 26, - "y": 495, - "w": 22, - "h": 23 - } - }, - { - "filename": "402_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 20, - "h": 24 - }, - "frame": { - "x": 27, - "y": 518, - "w": 20, - "h": 24 - } - }, - { - "filename": "402_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 4, - "w": 20, - "h": 24 - }, - "frame": { - "x": 27, - "y": 542, - "w": 20, - "h": 24 - } - }, - { - "filename": "388_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 7, - "w": 22, - "h": 21 - }, - "frame": { - "x": 27, - "y": 566, - "w": 22, - "h": 21 - } - }, - { - "filename": "413-plant_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 29, - "y": 587, - "w": 22, - "h": 23 - } - }, - { - "filename": "413-trash_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 29, - "y": 610, - "w": 23, - "h": 23 - } - }, - { - "filename": "413-trash_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 29, - "y": 633, - "w": 23, - "h": 23 - } - }, - { - "filename": "448-mega_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 4, - "w": 19, - "h": 24 - }, - "frame": { - "x": 44, - "y": 224, - "w": 19, - "h": 24 - } - }, - { - "filename": "448-mega_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 4, - "w": 19, - "h": 24 - }, - "frame": { - "x": 44, - "y": 248, - "w": 19, - "h": 24 - } - }, - { - "filename": "448-mega_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 4, - "w": 19, - "h": 24 - }, - "frame": { - "x": 44, - "y": 272, - "w": 19, - "h": 24 - } - }, - { - "filename": "468_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 28, - "h": 19 - }, - "frame": { - "x": 64, - "y": 67, - "w": 28, - "h": 19 - } - }, - { - "filename": "468_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 28, - "h": 19 - }, - "frame": { - "x": 92, - "y": 69, - "w": 28, - "h": 19 - } - }, - { - "filename": "468_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 28, - "h": 19 - }, - "frame": { - "x": 61, - "y": 86, - "w": 28, - "h": 19 - } - }, { "filename": "428_2", "rotated": false, @@ -1431,8 +948,50 @@ "h": 22 }, "frame": { - "x": 59, - "y": 105, + "x": 61, + "y": 71, + "w": 26, + "h": 22 + } + }, + { + "filename": "468_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 28, + "h": 19 + }, + "frame": { + "x": 61, + "y": 93, + "w": 28, + "h": 19 + } + }, + { + "filename": "428_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 63, + "y": 112, "w": 26, "h": 22 } @@ -1452,8 +1011,8 @@ "h": 21 }, "frame": { - "x": 89, - "y": 88, + "x": 57, + "y": 134, "w": 27, "h": 21 } @@ -1473,54 +1032,12 @@ "h": 21 }, "frame": { - "x": 85, - "y": 109, + "x": 57, + "y": 155, "w": 27, "h": 21 } }, - { - "filename": "406_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 12, - "h": 18 - }, - "frame": { - "x": 112, - "y": 109, - "w": 12, - "h": 18 - } - }, - { - "filename": "428_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 59, - "y": 127, - "w": 26, - "h": 22 - } - }, { "filename": "480_1", "rotated": false, @@ -1537,7 +1054,7 @@ }, "frame": { "x": 57, - "y": 149, + "y": 176, "w": 26, "h": 22 } @@ -1557,12 +1074,54 @@ "h": 22 }, "frame": { - "x": 85, - "y": 130, + "x": 57, + "y": 198, "w": 26, "h": 22 } }, + { + "filename": "468_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 28, + "h": 19 + }, + "frame": { + "x": 28, + "y": 220, + "w": 28, + "h": 19 + } + }, + { + "filename": "468_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 28, + "h": 19 + }, + "frame": { + "x": 56, + "y": 220, + "w": 28, + "h": 19 + } + }, { "filename": "480_3", "rotated": false, @@ -1578,14 +1137,14 @@ "h": 22 }, "frame": { - "x": 83, - "y": 152, + "x": 25, + "y": 239, "w": 26, "h": 22 } }, { - "filename": "412-sandy_1", + "filename": "413-sandy_1", "rotated": false, "trimmed": true, "sourceSize": { @@ -1593,20 +1152,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 13, + "x": 9, "y": 5, - "w": 15, + "w": 24, "h": 23 }, "frame": { - "x": 109, - "y": 152, - "w": 15, + "x": 25, + "y": 261, + "w": 24, "h": 23 } }, { - "filename": "406_3", + "filename": "413-sandy_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -1614,20 +1173,41 @@ "h": 30 }, "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 12, - "h": 18 + "x": 9, + "y": 5, + "w": 24, + "h": 23 }, "frame": { - "x": 112, - "y": 127, - "w": 12, - "h": 18 + "x": 25, + "y": 284, + "w": 24, + "h": 23 } }, { - "filename": "414_3", + "filename": "413-sandy_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 25, + "y": 307, + "w": 24, + "h": 23 + } + }, + { + "filename": "429_1", "rotated": false, "trimmed": true, "sourceSize": { @@ -1636,15 +1216,57 @@ }, "spriteSourceSize": { "x": 10, - "y": 7, - "w": 25, - "h": 20 + "y": 2, + "w": 19, + "h": 28 }, "frame": { - "x": 57, - "y": 171, - "w": 25, - "h": 20 + "x": 26, + "y": 330, + "w": 19, + "h": 28 + } + }, + { + "filename": "429_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 2, + "w": 19, + "h": 28 + }, + "frame": { + "x": 26, + "y": 358, + "w": 19, + "h": 28 + } + }, + { + "filename": "429_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 2, + "w": 19, + "h": 28 + }, + "frame": { + "x": 26, + "y": 386, + "w": 19, + "h": 28 } }, { @@ -1662,33 +1284,12 @@ "h": 22 }, "frame": { - "x": 82, - "y": 174, + "x": 51, + "y": 239, "w": 25, "h": 22 } }, - { - "filename": "401_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 107, - "y": 175, - "w": 17, - "h": 22 - } - }, { "filename": "470_2", "rotated": false, @@ -1704,8 +1305,8 @@ "h": 22 }, "frame": { - "x": 55, - "y": 191, + "x": 49, + "y": 261, "w": 25, "h": 22 } @@ -1725,14 +1326,14 @@ "h": 22 }, "frame": { - "x": 80, - "y": 196, + "x": 49, + "y": 283, "w": 25, "h": 22 } }, { - "filename": "461_2", + "filename": "475_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -1741,19 +1342,19 @@ }, "spriteSourceSize": { "x": 10, - "y": 6, - "w": 19, - "h": 22 + "y": 3, + "w": 22, + "h": 25 }, "frame": { - "x": 105, - "y": 197, - "w": 19, - "h": 22 + "x": 49, + "y": 305, + "w": 22, + "h": 25 } }, { - "filename": "401_3", + "filename": "475_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -1761,16 +1362,163 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, - "y": 5, - "w": 17, - "h": 22 + "x": 10, + "y": 3, + "w": 22, + "h": 25 }, "frame": { - "x": 63, - "y": 213, - "w": 17, - "h": 22 + "x": 45, + "y": 330, + "w": 22, + "h": 25 + } + }, + { + "filename": "413-plant_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 45, + "y": 355, + "w": 22, + "h": 23 + } + }, + { + "filename": "413-plant_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 45, + "y": 378, + "w": 22, + "h": 23 + } + }, + { + "filename": "402_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 20, + "h": 24 + }, + "frame": { + "x": 26, + "y": 414, + "w": 20, + "h": 24 + } + }, + { + "filename": "402_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 4, + "w": 20, + "h": 24 + }, + "frame": { + "x": 26, + "y": 438, + "w": 20, + "h": 24 + } + }, + { + "filename": "413-plant_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 26, + "y": 462, + "w": 22, + "h": 23 + } + }, + { + "filename": "413-trash_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 26, + "y": 485, + "w": 23, + "h": 23 + } + }, + { + "filename": "413-trash_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 27, + "y": 508, + "w": 23, + "h": 23 } }, { @@ -1788,96 +1536,12 @@ "h": 23 }, "frame": { - "x": 63, - "y": 235, + "x": 27, + "y": 531, "w": 23, "h": 23 } }, - { - "filename": "489_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 11, - "w": 23, - "h": 17 - }, - "frame": { - "x": 80, - "y": 218, - "w": 23, - "h": 17 - } - }, - { - "filename": "454_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 21, - "h": 22 - }, - "frame": { - "x": 103, - "y": 219, - "w": 21, - "h": 22 - } - }, - { - "filename": "412-plant_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 17, - "h": 22 - }, - "frame": { - "x": 86, - "y": 235, - "w": 17, - "h": 22 - } - }, - { - "filename": "454_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 21, - "h": 22 - }, - "frame": { - "x": 103, - "y": 241, - "w": 21, - "h": 22 - } - }, { "filename": "423-east_1", "rotated": false, @@ -1893,54 +1557,12 @@ "h": 22 }, "frame": { - "x": 63, - "y": 258, + "x": 27, + "y": 554, "w": 23, "h": 22 } }, - { - "filename": "412-plant_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 17, - "h": 22 - }, - "frame": { - "x": 86, - "y": 257, - "w": 17, - "h": 22 - } - }, - { - "filename": "492-sky_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 21, - "h": 22 - }, - "frame": { - "x": 103, - "y": 263, - "w": 21, - "h": 22 - } - }, { "filename": "423-east_2", "rotated": false, @@ -1956,138 +1578,12 @@ "h": 22 }, "frame": { - "x": 63, - "y": 280, + "x": 27, + "y": 576, "w": 23, "h": 22 } }, - { - "filename": "412-plant_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 17, - "h": 22 - }, - "frame": { - "x": 86, - "y": 279, - "w": 17, - "h": 22 - } - }, - { - "filename": "492-sky_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 21, - "h": 22 - }, - "frame": { - "x": 103, - "y": 285, - "w": 21, - "h": 22 - } - }, - { - "filename": "412-sandy_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 5, - "w": 15, - "h": 23 - }, - "frame": { - "x": 48, - "y": 422, - "w": 15, - "h": 23 - } - }, - { - "filename": "412-sandy_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 5, - "w": 15, - "h": 23 - }, - "frame": { - "x": 48, - "y": 445, - "w": 15, - "h": 23 - } - }, - { - "filename": "412-trash_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 5, - "w": 16, - "h": 23 - }, - "frame": { - "x": 48, - "y": 468, - "w": 16, - "h": 23 - } - }, - { - "filename": "412-trash_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 5, - "w": 16, - "h": 23 - }, - "frame": { - "x": 48, - "y": 491, - "w": 16, - "h": 23 - } - }, { "filename": "423-east_3", "rotated": false, @@ -2103,117 +1599,12 @@ "h": 22 }, "frame": { - "x": 50, - "y": 302, + "x": 27, + "y": 598, "w": 23, "h": 22 } }, - { - "filename": "423-west_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 50, - "y": 324, - "w": 23, - "h": 22 - } - }, - { - "filename": "423-west_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 50, - "y": 346, - "w": 23, - "h": 22 - } - }, - { - "filename": "423-west_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 50, - "y": 368, - "w": 23, - "h": 22 - } - }, - { - "filename": "400_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 22, - "h": 22 - }, - "frame": { - "x": 50, - "y": 390, - "w": 22, - "h": 22 - } - }, - { - "filename": "412-trash_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 5, - "w": 16, - "h": 23 - }, - "frame": { - "x": 73, - "y": 302, - "w": 16, - "h": 23 - } - }, { "filename": "387_2", "rotated": false, @@ -2229,8 +1620,8 @@ "h": 22 }, "frame": { - "x": 73, - "y": 325, + "x": 87, + "y": 71, "w": 18, "h": 22 } @@ -2250,14 +1641,119 @@ "h": 22 }, "frame": { - "x": 73, - "y": 347, + "x": 105, + "y": 66, "w": 18, "h": 22 } }, { - "filename": "388_3", + "filename": "427_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 105, + "y": 88, + "w": 18, + "h": 22 + } + }, + { + "filename": "412-trash_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 5, + "w": 16, + "h": 23 + }, + "frame": { + "x": 89, + "y": 93, + "w": 16, + "h": 23 + } + }, + { + "filename": "427_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 105, + "y": 110, + "w": 18, + "h": 22 + } + }, + { + "filename": "412-trash_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 5, + "w": 16, + "h": 23 + }, + "frame": { + "x": 89, + "y": 116, + "w": 16, + "h": 23 + } + }, + { + "filename": "447_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 10, + "w": 18, + "h": 18 + }, + "frame": { + "x": 105, + "y": 132, + "w": 18, + "h": 18 + } + }, + { + "filename": "454_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -2266,40 +1762,19 @@ }, "spriteSourceSize": { "x": 9, - "y": 7, - "w": 22, - "h": 21 - }, - "frame": { - "x": 73, - "y": 369, - "w": 22, - "h": 21 - } - }, - { - "filename": "400_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, "y": 6, - "w": 22, + "w": 21, "h": 22 }, "frame": { - "x": 72, - "y": 390, - "w": 22, + "x": 84, + "y": 139, + "w": 21, "h": 22 } }, { - "filename": "440_1", + "filename": "447_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -2307,16 +1782,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 14, - "h": 19 + "x": 12, + "y": 10, + "w": 18, + "h": 18 }, "frame": { - "x": 89, - "y": 301, - "w": 14, - "h": 19 + "x": 105, + "y": 150, + "w": 18, + "h": 18 } }, { @@ -2334,12 +1809,390 @@ "h": 20 }, "frame": { - "x": 103, - "y": 307, + "x": 84, + "y": 161, "w": 21, "h": 20 } }, + { + "filename": "447_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 10, + "w": 18, + "h": 18 + }, + "frame": { + "x": 105, + "y": 168, + "w": 18, + "h": 18 + } + }, + { + "filename": "400_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 22, + "h": 22 + }, + "frame": { + "x": 83, + "y": 181, + "w": 22, + "h": 22 + } + }, + { + "filename": "492-land_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 12, + "w": 18, + "h": 16 + }, + "frame": { + "x": 105, + "y": 186, + "w": 18, + "h": 16 + } + }, + { + "filename": "489_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 11, + "w": 23, + "h": 17 + }, + "frame": { + "x": 83, + "y": 203, + "w": 23, + "h": 17 + } + }, + { + "filename": "401_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 106, + "y": 202, + "w": 17, + "h": 22 + } + }, + { + "filename": "388_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 7, + "w": 22, + "h": 21 + }, + "frame": { + "x": 84, + "y": 220, + "w": 22, + "h": 21 + } + }, + { + "filename": "401_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 106, + "y": 224, + "w": 17, + "h": 22 + } + }, + { + "filename": "414_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 7, + "w": 25, + "h": 20 + }, + "frame": { + "x": 76, + "y": 241, + "w": 25, + "h": 20 + } + }, + { + "filename": "400_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 22, + "h": 22 + }, + "frame": { + "x": 101, + "y": 246, + "w": 22, + "h": 22 + } + }, + { + "filename": "414_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 7, + "w": 25, + "h": 20 + }, + "frame": { + "x": 74, + "y": 261, + "w": 25, + "h": 20 + } + }, + { + "filename": "423-west_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 74, + "y": 281, + "w": 23, + "h": 22 + } + }, + { + "filename": "423-west_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 99, + "y": 268, + "w": 23, + "h": 22 + } + }, + { + "filename": "423-west_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 97, + "y": 290, + "w": 23, + "h": 22 + } + }, + { + "filename": "433_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 23, + "h": 19 + }, + "frame": { + "x": 74, + "y": 303, + "w": 23, + "h": 19 + } + }, + { + "filename": "433_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 23, + "h": 19 + }, + "frame": { + "x": 97, + "y": 312, + "w": 23, + "h": 19 + } + }, + { + "filename": "448-mega_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 4, + "w": 19, + "h": 24 + }, + "frame": { + "x": 46, + "y": 401, + "w": 19, + "h": 24 + } + }, + { + "filename": "448-mega_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 4, + "w": 19, + "h": 24 + }, + "frame": { + "x": 46, + "y": 425, + "w": 19, + "h": 24 + } + }, + { + "filename": "433_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 23, + "h": 19 + }, + "frame": { + "x": 71, + "y": 322, + "w": 23, + "h": 19 + } + }, { "filename": "444_1", "rotated": false, @@ -2355,8 +2208,8 @@ "h": 21 }, "frame": { - "x": 63, - "y": 412, + "x": 67, + "y": 341, "w": 23, "h": 21 } @@ -2376,8 +2229,8 @@ "h": 21 }, "frame": { - "x": 63, - "y": 433, + "x": 67, + "y": 362, "w": 23, "h": 21 } @@ -2397,14 +2250,35 @@ "h": 21 }, "frame": { - "x": 91, - "y": 327, + "x": 67, + "y": 383, "w": 23, "h": 21 } }, { - "filename": "433_1", + "filename": "388_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 7, + "w": 22, + "h": 21 + }, + "frame": { + "x": 65, + "y": 404, + "w": 22, + "h": 21 + } + }, + { + "filename": "448-mega_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -2413,15 +2287,36 @@ }, "spriteSourceSize": { "x": 12, - "y": 9, - "w": 23, - "h": 19 + "y": 4, + "w": 19, + "h": 24 }, "frame": { - "x": 91, - "y": 348, - "w": 23, - "h": 19 + "x": 65, + "y": 425, + "w": 19, + "h": 24 + } + }, + { + "filename": "454_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 21, + "h": 22 + }, + "frame": { + "x": 48, + "y": 449, + "w": 21, + "h": 22 } }, { @@ -2439,14 +2334,14 @@ "h": 22 }, "frame": { - "x": 95, - "y": 367, + "x": 69, + "y": 449, "w": 20, "h": 22 } }, { - "filename": "407_3", + "filename": "489_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -2454,18 +2349,102 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, + "x": 11, + "y": 11, + "w": 23, + "h": 17 + }, + "frame": { + "x": 94, + "y": 331, + "w": 23, + "h": 17 + } + }, + { + "filename": "492-sky_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, "y": 6, - "w": 20, + "w": 21, "h": 22 }, "frame": { - "x": 86, - "y": 412, - "w": 20, + "x": 90, + "y": 348, + "w": 21, "h": 22 } }, + { + "filename": "492-sky_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 21, + "h": 22 + }, + "frame": { + "x": 90, + "y": 370, + "w": 21, + "h": 22 + } + }, + { + "filename": "406_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 10, + "w": 12, + "h": 18 + }, + "frame": { + "x": 111, + "y": 348, + "w": 12, + "h": 18 + } + }, + { + "filename": "406_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 10, + "w": 12, + "h": 18 + }, + "frame": { + "x": 111, + "y": 366, + "w": 12, + "h": 18 + } + }, { "filename": "442_3", "rotated": false, @@ -2481,14 +2460,14 @@ "h": 20 }, "frame": { - "x": 86, - "y": 434, + "x": 90, + "y": 392, "w": 21, "h": 20 } }, { - "filename": "425_2", + "filename": "489_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -2496,121 +2475,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 15, - "h": 22 + "x": 11, + "y": 11, + "w": 23, + "h": 17 }, "frame": { - "x": 94, - "y": 390, - "w": 15, - "h": 22 - } - }, - { - "filename": "425_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 15, - "h": 22 - }, - "frame": { - "x": 109, - "y": 389, - "w": 15, - "h": 22 - } - }, - { - "filename": "427_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 18, - "h": 22 - }, - "frame": { - "x": 106, + "x": 87, "y": 412, - "w": 18, - "h": 22 - } - }, - { - "filename": "422-west_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 8, - "w": 17, - "h": 20 - }, - "frame": { - "x": 107, - "y": 434, - "w": 17, - "h": 20 - } - }, - { - "filename": "433_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, "w": 23, - "h": 19 - }, - "frame": { - "x": 64, - "y": 454, - "w": 23, - "h": 19 - } - }, - { - "filename": "433_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 23, - "h": 19 - }, - "frame": { - "x": 64, - "y": 473, - "w": 23, - "h": 19 + "h": 17 } }, { @@ -2628,12 +2502,117 @@ "h": 20 }, "frame": { - "x": 87, - "y": 454, + "x": 84, + "y": 429, "w": 22, "h": 20 } }, + { + "filename": "412-plant_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 17, + "h": 22 + }, + "frame": { + "x": 106, + "y": 429, + "w": 17, + "h": 22 + } + }, + { + "filename": "412-plant_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 17, + "h": 22 + }, + "frame": { + "x": 89, + "y": 449, + "w": 17, + "h": 22 + } + }, + { + "filename": "412-plant_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 17, + "h": 22 + }, + "frame": { + "x": 106, + "y": 451, + "w": 17, + "h": 22 + } + }, + { + "filename": "436_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 12, + "w": 13, + "h": 16 + }, + "frame": { + "x": 110, + "y": 412, + "w": 13, + "h": 16 + } + }, + { + "filename": "407_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 20, + "h": 22 + }, + "frame": { + "x": 49, + "y": 471, + "w": 20, + "h": 22 + } + }, { "filename": "490_2", "rotated": false, @@ -2649,12 +2628,75 @@ "h": 20 }, "frame": { - "x": 64, - "y": 492, + "x": 69, + "y": 471, "w": 22, "h": 20 } }, + { + "filename": "412-sandy_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 5, + "w": 15, + "h": 23 + }, + "frame": { + "x": 91, + "y": 471, + "w": 15, + "h": 23 + } + }, + { + "filename": "422-west_1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 17, + "h": 20 + }, + "frame": { + "x": 106, + "y": 473, + "w": 17, + "h": 20 + } + }, + { + "filename": "422-west_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 17, + "h": 20 + }, + "frame": { + "x": 106, + "y": 493, + "w": 17, + "h": 20 + } + }, { "filename": "490_3", "rotated": false, @@ -2670,14 +2712,14 @@ "h": 20 }, "frame": { - "x": 87, - "y": 474, + "x": 69, + "y": 491, "w": 22, "h": 20 } }, { - "filename": "489_2", + "filename": "412-sandy_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -2685,20 +2727,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, - "y": 11, - "w": 23, - "h": 17 + "x": 13, + "y": 5, + "w": 15, + "h": 23 }, "frame": { - "x": 86, + "x": 91, "y": 494, - "w": 23, - "h": 17 + "w": 15, + "h": 23 } }, { - "filename": "440_2", + "filename": "461_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -2706,104 +2748,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 14, - "h": 19 - }, - "frame": { - "x": 109, - "y": 454, - "w": 14, - "h": 19 - } - }, - { - "filename": "440_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 14, - "h": 19 - }, - "frame": { - "x": 109, - "y": 473, - "w": 14, - "h": 19 - } - }, - { - "filename": "436_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 12, - "w": 13, - "h": 16 - }, - "frame": { - "x": 109, - "y": 492, - "w": 13, - "h": 16 - } - }, - { - "filename": "489_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 11, - "w": 23, - "h": 17 - }, - "frame": { - "x": 64, - "y": 512, - "w": 23, - "h": 17 - } - }, - { - "filename": "422-east_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 8, + "x": 10, + "y": 6, "w": 19, - "h": 20 + "h": 22 }, "frame": { - "x": 87, - "y": 511, + "x": 50, + "y": 493, "w": 19, - "h": 20 + "h": 22 } }, { - "filename": "427_3", + "filename": "422-west_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -2812,36 +2770,15 @@ }, "spriteSourceSize": { "x": 12, - "y": 6, - "w": 18, - "h": 22 + "y": 8, + "w": 17, + "h": 20 }, "frame": { "x": 106, - "y": 511, - "w": 18, - "h": 22 - } - }, - { - "filename": "448_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 7, - "w": 16, - "h": 21 - }, - "frame": { - "x": 48, - "y": 514, - "w": 16, - "h": 21 + "y": 513, + "w": 17, + "h": 20 } }, { @@ -2859,14 +2796,35 @@ "h": 22 }, "frame": { - "x": 47, - "y": 535, + "x": 50, + "y": 515, "w": 19, "h": 22 } }, { - "filename": "494_2", + "filename": "412-trash_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 5, + "w": 16, + "h": 23 + }, + "frame": { + "x": 69, + "y": 511, + "w": 16, + "h": 23 + } + }, + { + "filename": "422-east_1", "rotated": false, "trimmed": true, "sourceSize": { @@ -2875,15 +2833,15 @@ }, "spriteSourceSize": { "x": 11, - "y": 6, - "w": 18, - "h": 22 + "y": 8, + "w": 19, + "h": 20 }, "frame": { - "x": 66, - "y": 529, - "w": 18, - "h": 22 + "x": 50, + "y": 537, + "w": 19, + "h": 20 } }, { @@ -2901,8 +2859,8 @@ "h": 20 }, "frame": { - "x": 84, - "y": 531, + "x": 50, + "y": 557, "w": 19, "h": 20 } @@ -2922,14 +2880,14 @@ "h": 20 }, "frame": { - "x": 103, - "y": 533, + "x": 50, + "y": 577, "w": 19, "h": 20 } }, { - "filename": "494_3", + "filename": "412-sandy_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -2937,16 +2895,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, - "y": 6, - "w": 18, - "h": 22 + "x": 13, + "y": 5, + "w": 15, + "h": 23 }, "frame": { - "x": 49, - "y": 557, - "w": 18, - "h": 22 + "x": 69, + "y": 534, + "w": 15, + "h": 23 } }, { @@ -2964,14 +2922,14 @@ "h": 19 }, "frame": { - "x": 67, - "y": 551, + "x": 50, + "y": 597, "w": 19, "h": 19 } }, { - "filename": "422-west_2", + "filename": "425_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -2979,16 +2937,58 @@ "h": 30 }, "spriteSourceSize": { - "x": 12, - "y": 8, - "w": 17, - "h": 20 + "x": 13, + "y": 7, + "w": 15, + "h": 22 }, "frame": { - "x": 86, - "y": 551, - "w": 17, - "h": 20 + "x": 69, + "y": 557, + "w": 15, + "h": 22 + } + }, + { + "filename": "425_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 7, + "w": 15, + "h": 22 + }, + "frame": { + "x": 69, + "y": 579, + "w": 15, + "h": 22 + } + }, + { + "filename": "458_2", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 10, + "w": 20, + "h": 17 + }, + "frame": { + "x": 85, + "y": 517, + "w": 20, + "h": 17 } }, { @@ -3006,7 +3006,28 @@ "h": 19 }, "frame": { - "x": 103, + "x": 84, + "y": 534, + "w": 19, + "h": 19 + } + }, + { + "filename": "443_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 9, + "w": 19, + "h": 19 + }, + "frame": { + "x": 84, "y": 553, "w": 19, "h": 19 @@ -3027,14 +3048,14 @@ "h": 22 }, "frame": { - "x": 51, - "y": 579, + "x": 84, + "y": 572, "w": 16, "h": 22 } }, { - "filename": "443_3", + "filename": "458_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -3042,79 +3063,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, - "y": 9, - "w": 19, - "h": 19 - }, - "frame": { - "x": 67, - "y": 570, - "w": 19, - "h": 19 - } - }, - { - "filename": "422-west_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 8, - "w": 17, - "h": 20 - }, - "frame": { - "x": 86, - "y": 571, - "w": 17, - "h": 20 - } - }, - { - "filename": "447_1", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, + "x": 10, "y": 10, - "w": 18, - "h": 18 + "w": 20, + "h": 17 }, "frame": { "x": 103, - "y": 572, - "w": 18, - "h": 18 - } - }, - { - "filename": "447_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 67, - "y": 589, - "w": 18, - "h": 18 + "y": 534, + "w": 20, + "h": 17 } }, { @@ -3132,14 +3090,35 @@ "h": 16 }, "frame": { - "x": 85, - "y": 591, + "x": 103, + "y": 551, "w": 20, "h": 16 } }, { - "filename": "447_3", + "filename": "399_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 12, + "w": 20, + "h": 16 + }, + "frame": { + "x": 103, + "y": 567, + "w": 20, + "h": 16 + } + }, + { + "filename": "448_1", "rotated": false, "trimmed": true, "sourceSize": { @@ -3148,36 +3127,15 @@ }, "spriteSourceSize": { "x": 12, - "y": 10, - "w": 18, - "h": 18 + "y": 7, + "w": 16, + "h": 21 }, "frame": { - "x": 105, - "y": 590, - "w": 18, - "h": 18 - } - }, - { - "filename": "436_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 12, - "w": 13, - "h": 16 - }, - "frame": { - "x": 52, + "x": 69, "y": 601, - "w": 13, - "h": 16 + "w": 16, + "h": 21 } }, { @@ -3195,8 +3153,8 @@ "h": 22 }, "frame": { - "x": 52, - "y": 617, + "x": 85, + "y": 594, "w": 16, "h": 22 } @@ -3216,8 +3174,8 @@ "h": 21 }, "frame": { - "x": 52, - "y": 639, + "x": 101, + "y": 583, "w": 16, "h": 21 } @@ -3237,14 +3195,14 @@ "h": 21 }, "frame": { - "x": 68, - "y": 607, + "x": 101, + "y": 604, "w": 16, "h": 21 } }, { - "filename": "458_2", + "filename": "492-land_3", "rotated": false, "trimmed": true, "sourceSize": { @@ -3252,37 +3210,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 10, - "w": 20, - "h": 17 + "x": 12, + "y": 12, + "w": 18, + "h": 16 }, "frame": { - "x": 84, - "y": 607, - "w": 20, - "h": 17 - } - }, - { - "filename": "458_3", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 10, - "w": 20, - "h": 17 - }, - "frame": { - "x": 104, - "y": 608, - "w": 20, - "h": 17 + "x": 50, + "y": 616, + "w": 18, + "h": 16 } }, { @@ -3300,8 +3237,8 @@ "h": 17 }, "frame": { - "x": 68, - "y": 628, + "x": 48, + "y": 632, "w": 17, "h": 17 } @@ -3321,14 +3258,14 @@ "h": 17 }, "frame": { - "x": 85, - "y": 624, + "x": 68, + "y": 622, "w": 17, "h": 17 } }, { - "filename": "399_3", + "filename": "440_1", "rotated": false, "trimmed": true, "sourceSize": { @@ -3336,41 +3273,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 12, - "w": 20, - "h": 16 - }, - "frame": { - "x": 102, - "y": 625, - "w": 20, - "h": 16 - } - }, - { - "filename": "492-land_2", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 12, - "w": 18, - "h": 16 + "x": 13, + "y": 9, + "w": 14, + "h": 19 }, "frame": { "x": 85, - "y": 641, - "w": 18, - "h": 16 + "y": 616, + "w": 14, + "h": 19 } }, { - "filename": "492-land_3", + "filename": "440_2", "rotated": false, "trimmed": true, "sourceSize": { @@ -3378,15 +3294,57 @@ "h": 30 }, "spriteSourceSize": { - "x": 12, + "x": 13, + "y": 9, + "w": 14, + "h": 19 + }, + "frame": { + "x": 99, + "y": 625, + "w": 14, + "h": 19 + } + }, + { + "filename": "440_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 14, + "h": 19 + }, + "frame": { + "x": 85, + "y": 635, + "w": 14, + "h": 19 + } + }, + { + "filename": "436_3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, "y": 12, - "w": 18, + "w": 13, "h": 16 }, "frame": { - "x": 103, - "y": 641, - "w": 18, + "x": 65, + "y": 639, + "w": 13, "h": 16 } } @@ -3396,6 +3354,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:8d567785b198c5a2f6892242773436c5:1a0706846c40b2345d9ac32977f8c2e5:ebc3f8ec5b2480b298192d752b6e57dc$" + "smartupdate": "$TexturePacker:SmartUpdate:ff9a4f796b02d3e2c7977d3c3d76a7b8:eabe987f61ff488162814a018b9b9c12:ebc3f8ec5b2480b298192d752b6e57dc$" } } diff --git a/public/images/pokemon_icons_4v.png b/public/images/pokemon_icons_4v.png index eaf8d009ca84f986ab9d2f7eac61297292fdd219..9f2a9ac1f19bab1b5ec996362e2440a29b7f6655 100644 GIT binary patch literal 29492 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 TQMCqb00000NkvXXu0mjfDFe4N literal 29855 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 KMNUMnLSTYaIH`;P diff --git a/public/images/pokemon_icons_5.json b/public/images/pokemon_icons_5.json index fdbba6575e7..685ce770889 100644 --- a/public/images/pokemon_icons_5.json +++ b/public/images/pokemon_icons_5.json @@ -4,8 +4,8 @@ "image": "pokemon_icons_5.png", "format": "RGBA8888", "size": { - "w": 256, - "h": 681 + "w": 245, + "h": 713 }, "scale": 1, "frames": [ @@ -324,6 +324,27 @@ "h": 27 } }, + { + "filename": "640", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 2, + "w": 21, + "h": 26 + }, + "frame": { + "x": 224, + "y": 0, + "w": 21, + "h": 26 + } + }, { "filename": "644s", "rotated": false, @@ -345,27 +366,6 @@ "h": 27 } }, - { - "filename": "645-incarnate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 4, - "y": 2, - "w": 31, - "h": 26 - }, - "frame": { - "x": 224, - "y": 0, - "w": 31, - "h": 26 - } - }, { "filename": "641-incarnate", "rotated": false, @@ -409,7 +409,7 @@ } }, { - "filename": "645s-incarnate", + "filename": "645-incarnate", "rotated": false, "trimmed": true, "sourceSize": { @@ -430,7 +430,7 @@ } }, { - "filename": "646", + "filename": "645s-incarnate", "rotated": false, "trimmed": true, "sourceSize": { @@ -451,7 +451,7 @@ } }, { - "filename": "646s", + "filename": "646", "rotated": false, "trimmed": true, "sourceSize": { @@ -471,6 +471,27 @@ "h": 26 } }, + { + "filename": "646s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 4, + "y": 2, + "w": 31, + "h": 26 + }, + "frame": { + "x": 0, + "y": 352, + "w": 31, + "h": 26 + } + }, { "filename": "534", "rotated": false, @@ -487,7 +508,7 @@ }, "frame": { "x": 0, - "y": 352, + "y": 378, "w": 31, "h": 25 } @@ -508,7 +529,7 @@ }, "frame": { "x": 0, - "y": 377, + "y": 403, "w": 31, "h": 25 } @@ -529,7 +550,7 @@ }, "frame": { "x": 0, - "y": 402, + "y": 428, "w": 30, "h": 25 } @@ -550,7 +571,7 @@ }, "frame": { "x": 0, - "y": 427, + "y": 453, "w": 30, "h": 25 } @@ -571,7 +592,7 @@ }, "frame": { "x": 0, - "y": 452, + "y": 478, "w": 30, "h": 25 } @@ -592,7 +613,7 @@ }, "frame": { "x": 0, - "y": 477, + "y": 503, "w": 30, "h": 25 } @@ -613,7 +634,7 @@ }, "frame": { "x": 0, - "y": 502, + "y": 528, "w": 27, "h": 28 } @@ -634,7 +655,7 @@ }, "frame": { "x": 0, - "y": 530, + "y": 556, "w": 27, "h": 28 } @@ -655,7 +676,7 @@ }, "frame": { "x": 0, - "y": 558, + "y": 584, "w": 28, "h": 25 } @@ -676,7 +697,7 @@ }, "frame": { "x": 0, - "y": 583, + "y": 609, "w": 28, "h": 25 } @@ -697,7 +718,7 @@ }, "frame": { "x": 0, - "y": 608, + "y": 634, "w": 29, "h": 25 } @@ -718,13 +739,13 @@ }, "frame": { "x": 0, - "y": 633, + "y": 659, "w": 29, "h": 25 } }, { - "filename": "503", + "filename": "635", "rotated": false, "trimmed": true, "sourceSize": { @@ -732,20 +753,41 @@ "h": 30 }, "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 31, - "h": 23 + "x": 6, + "y": 3, + "w": 29, + "h": 25 }, "frame": { "x": 0, - "y": 658, - "w": 31, - "h": 23 + "y": 684, + "w": 29, + "h": 25 } }, { - "filename": "503s", + "filename": "640s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 2, + "w": 21, + "h": 26 + }, + "frame": { + "x": 224, + "y": 26, + "w": 21, + "h": 26 + } + }, + { + "filename": "503", "rotated": false, "trimmed": true, "sourceSize": { @@ -766,7 +808,7 @@ } }, { - "filename": "569", + "filename": "503s", "rotated": false, "trimmed": true, "sourceSize": { @@ -775,36 +817,15 @@ }, "spriteSourceSize": { "x": 5, - "y": 6, - "w": 30, - "h": 22 + "y": 5, + "w": 31, + "h": 23 }, "frame": { "x": 33, "y": 81, - "w": 30, - "h": 22 - } - }, - { - "filename": "635", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 29, - "h": 25 - }, - "frame": { - "x": 32, - "y": 103, - "w": 29, - "h": 25 + "w": 31, + "h": 23 } }, { @@ -823,11 +844,32 @@ }, "frame": { "x": 32, - "y": 128, + "y": 104, "w": 29, "h": 25 } }, + { + "filename": "609", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 29, + "h": 23 + }, + "frame": { + "x": 32, + "y": 129, + "w": 29, + "h": 23 + } + }, { "filename": "530", "rotated": false, @@ -844,11 +886,32 @@ }, "frame": { "x": 32, - "y": 153, + "y": 152, "w": 29, "h": 22 } }, + { + "filename": "569", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 30, + "h": 22 + }, + "frame": { + "x": 30, + "y": 174, + "w": 30, + "h": 22 + } + }, { "filename": "569s", "rotated": false, @@ -865,7 +928,7 @@ }, "frame": { "x": 30, - "y": 175, + "y": 196, "w": 30, "h": 22 } @@ -886,7 +949,7 @@ }, "frame": { "x": 30, - "y": 197, + "y": 218, "w": 30, "h": 22 } @@ -907,53 +970,11 @@ }, "frame": { "x": 30, - "y": 219, + "y": 240, "w": 30, "h": 22 } }, - { - "filename": "598", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 30, - "h": 22 - }, - "frame": { - "x": 30, - "y": 241, - "w": 30, - "h": 22 - } - }, - { - "filename": "609", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 29, - "h": 23 - }, - "frame": { - "x": 31, - "y": 263, - "w": 29, - "h": 23 - } - }, { "filename": "609s", "rotated": false, @@ -970,7 +991,7 @@ }, "frame": { "x": 31, - "y": 286, + "y": 262, "w": 29, "h": 23 } @@ -991,7 +1012,7 @@ }, "frame": { "x": 31, - "y": 309, + "y": 285, "w": 29, "h": 22 } @@ -1012,7 +1033,7 @@ }, "frame": { "x": 31, - "y": 331, + "y": 307, "w": 27, "h": 24 } @@ -1033,11 +1054,53 @@ }, "frame": { "x": 31, - "y": 355, + "y": 331, "w": 27, "h": 24 } }, + { + "filename": "623", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 3, + "w": 26, + "h": 25 + }, + "frame": { + "x": 31, + "y": 355, + "w": 26, + "h": 25 + } + }, + { + "filename": "623s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 3, + "w": 26, + "h": 25 + }, + "frame": { + "x": 31, + "y": 380, + "w": 26, + "h": 25 + } + }, { "filename": "508", "rotated": false, @@ -1054,7 +1117,7 @@ }, "frame": { "x": 31, - "y": 379, + "y": 405, "w": 27, "h": 23 } @@ -1075,7 +1138,7 @@ }, "frame": { "x": 30, - "y": 402, + "y": 428, "w": 28, "h": 23 } @@ -1096,7 +1159,7 @@ }, "frame": { "x": 30, - "y": 425, + "y": 451, "w": 28, "h": 23 } @@ -1117,7 +1180,7 @@ }, "frame": { "x": 30, - "y": 448, + "y": 474, "w": 28, "h": 23 } @@ -1138,7 +1201,7 @@ }, "frame": { "x": 30, - "y": 471, + "y": 497, "w": 28, "h": 23 } @@ -1159,13 +1222,13 @@ }, "frame": { "x": 30, - "y": 494, + "y": 520, "w": 28, "h": 22 } }, { - "filename": "598s", + "filename": "598", "rotated": false, "trimmed": true, "sourceSize": { @@ -1180,7 +1243,7 @@ }, "frame": { "x": 27, - "y": 516, + "y": 542, "w": 30, "h": 22 } @@ -1201,13 +1264,13 @@ }, "frame": { "x": 27, - "y": 538, + "y": 564, "w": 29, "h": 20 } }, { - "filename": "623", + "filename": "497s", "rotated": false, "trimmed": true, "sourceSize": { @@ -1216,19 +1279,19 @@ }, "spriteSourceSize": { "x": 6, - "y": 3, - "w": 26, - "h": 25 + "y": 6, + "w": 28, + "h": 22 }, "frame": { "x": 28, - "y": 558, - "w": 26, - "h": 25 + "y": 584, + "w": 28, + "h": 22 } }, { - "filename": "623s", + "filename": "508s", "rotated": false, "trimmed": true, "sourceSize": { @@ -1236,16 +1299,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 6, - "y": 3, - "w": 26, - "h": 25 + "x": 7, + "y": 5, + "w": 27, + "h": 23 }, "frame": { "x": 28, - "y": 583, - "w": 26, - "h": 25 + "y": 606, + "w": 27, + "h": 23 } }, { @@ -1264,7 +1327,7 @@ }, "frame": { "x": 29, - "y": 608, + "y": 629, "w": 25, "h": 25 } @@ -1285,13 +1348,13 @@ }, "frame": { "x": 29, - "y": 633, + "y": 654, "w": 25, "h": 25 } }, { - "filename": "508s", + "filename": "586-autumn", "rotated": false, "trimmed": true, "sourceSize": { @@ -1300,15 +1363,15 @@ }, "spriteSourceSize": { "x": 7, - "y": 5, - "w": 27, - "h": 23 + "y": 3, + "w": 25, + "h": 25 }, "frame": { - "x": 31, - "y": 658, - "w": 27, - "h": 23 + "x": 29, + "y": 679, + "w": 25, + "h": 25 } }, { @@ -1354,7 +1417,7 @@ } }, { - "filename": "604", + "filename": "598s", "rotated": false, "trimmed": true, "sourceSize": { @@ -1375,7 +1438,7 @@ } }, { - "filename": "604s", + "filename": "604", "rotated": false, "trimmed": true, "sourceSize": { @@ -1396,7 +1459,7 @@ } }, { - "filename": "647-resolute", + "filename": "604s", "rotated": false, "trimmed": true, "sourceSize": { @@ -1405,7 +1468,7 @@ }, "spriteSourceSize": { "x": 5, - "y": 6, + "y": 7, "w": 30, "h": 22 }, @@ -1417,7 +1480,7 @@ } }, { - "filename": "647s-resolute", + "filename": "647-resolute", "rotated": false, "trimmed": true, "sourceSize": { @@ -1437,6 +1500,27 @@ "h": 22 } }, + { + "filename": "647s-resolute", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 30, + "h": 22 + }, + "frame": { + "x": 101, + "y": 49, + "w": 30, + "h": 22 + } + }, { "filename": "545", "rotated": false, @@ -1452,7 +1536,7 @@ "h": 22 }, "frame": { - "x": 101, + "x": 131, "y": 49, "w": 29, "h": 22 @@ -1473,7 +1557,7 @@ "h": 22 }, "frame": { - "x": 130, + "x": 160, "y": 49, "w": 29, "h": 22 @@ -1494,12 +1578,33 @@ "h": 22 }, "frame": { - "x": 159, + "x": 189, "y": 49, "w": 29, "h": 22 } }, + { + "filename": "523", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 27, + "h": 23 + }, + "frame": { + "x": 218, + "y": 52, + "w": 27, + "h": 23 + } + }, { "filename": "571s", "rotated": false, @@ -1515,35 +1620,14 @@ "h": 22 }, "frame": { - "x": 188, - "y": 49, + "x": 99, + "y": 71, "w": 29, "h": 22 } }, { - "filename": "639s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 8, - "w": 29, - "h": 20 - }, - "frame": { - "x": 99, - "y": 71, - "w": 29, - "h": 20 - } - }, - { - "filename": "497s", + "filename": "593", "rotated": false, "trimmed": true, "sourceSize": { @@ -1564,7 +1648,7 @@ } }, { - "filename": "593", + "filename": "593s", "rotated": false, "trimmed": true, "sourceSize": { @@ -1585,7 +1669,7 @@ } }, { - "filename": "593s", + "filename": "596", "rotated": false, "trimmed": true, "sourceSize": { @@ -1605,6 +1689,27 @@ "h": 22 } }, + { + "filename": "639s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 8, + "w": 29, + "h": 20 + }, + "frame": { + "x": 212, + "y": 75, + "w": 29, + "h": 20 + } + }, { "filename": "537", "rotated": false, @@ -1621,7 +1726,7 @@ }, "frame": { "x": 98, - "y": 91, + "y": 93, "w": 28, "h": 21 } @@ -1648,7 +1753,7 @@ } }, { - "filename": "596", + "filename": "596s", "rotated": false, "trimmed": true, "sourceSize": { @@ -1669,7 +1774,7 @@ } }, { - "filename": "596s", + "filename": "523s", "rotated": false, "trimmed": true, "sourceSize": { @@ -1677,16 +1782,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 28, - "h": 22 + "x": 7, + "y": 5, + "w": 27, + "h": 23 }, "frame": { "x": 182, "y": 93, - "w": 28, - "h": 22 + "w": 27, + "h": 23 } }, { @@ -1704,8 +1809,8 @@ "h": 20 }, "frame": { - "x": 224, - "y": 26, + "x": 209, + "y": 95, "w": 28, "h": 20 } @@ -1725,75 +1830,12 @@ "h": 20 }, "frame": { - "x": 222, - "y": 46, + "x": 64, + "y": 98, "w": 28, "h": 20 } }, - { - "filename": "531-mega", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 2, - "w": 22, - "h": 26 - }, - "frame": { - "x": 58, - "y": 331, - "w": 22, - "h": 26 - } - }, - { - "filename": "531s-mega", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 2, - "w": 22, - "h": 26 - }, - "frame": { - "x": 58, - "y": 357, - "w": 22, - "h": 26 - } - }, - { - "filename": "586-autumn", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 3, - "w": 25, - "h": 25 - }, - "frame": { - "x": 58, - "y": 383, - "w": 25, - "h": 25 - } - }, { "filename": "586s-autumn", "rotated": false, @@ -1809,8 +1851,8 @@ "h": 25 }, "frame": { - "x": 58, - "y": 408, + "x": 61, + "y": 118, "w": 25, "h": 25 } @@ -1830,29 +1872,8 @@ "h": 24 }, "frame": { - "x": 58, - "y": 433, - "w": 26, - "h": 24 - } - }, - { - "filename": "612s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 26, - "h": 24 - }, - "frame": { - "x": 58, - "y": 457, + "x": 61, + "y": 143, "w": 26, "h": 24 } @@ -1872,12 +1893,33 @@ "h": 23 }, "frame": { - "x": 58, - "y": 481, + "x": 61, + "y": 167, "w": 26, "h": 23 } }, + { + "filename": "612s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 26, + "h": 24 + }, + "frame": { + "x": 60, + "y": 190, + "w": 26, + "h": 24 + } + }, { "filename": "510s", "rotated": false, @@ -1893,138 +1935,12 @@ "h": 23 }, "frame": { - "x": 58, - "y": 504, + "x": 60, + "y": 214, "w": 26, "h": 23 } }, - { - "filename": "523", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 27, - "h": 23 - }, - "frame": { - "x": 57, - "y": 527, - "w": 27, - "h": 23 - } - }, - { - "filename": "631", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 28, - "h": 20 - }, - "frame": { - "x": 56, - "y": 550, - "w": 28, - "h": 20 - } - }, - { - "filename": "523s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 27, - "h": 23 - }, - "frame": { - "x": 54, - "y": 570, - "w": 27, - "h": 23 - } - }, - { - "filename": "621", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 27, - "h": 23 - }, - "frame": { - "x": 54, - "y": 593, - "w": 27, - "h": 23 - } - }, - { - "filename": "621s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 27, - "h": 23 - }, - "frame": { - "x": 54, - "y": 616, - "w": 27, - "h": 23 - } - }, - { - "filename": "600", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 9, - "w": 27, - "h": 19 - }, - "frame": { - "x": 54, - "y": 639, - "w": 27, - "h": 19 - } - }, { "filename": "584", "rotated": false, @@ -2040,96 +1956,12 @@ "h": 23 }, "frame": { - "x": 58, - "y": 658, + "x": 60, + "y": 237, "w": 26, "h": 23 } }, - { - "filename": "498", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 80, - "y": 98, - "w": 18, - "h": 18 - } - }, - { - "filename": "502", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 5, - "w": 19, - "h": 23 - }, - "frame": { - "x": 61, - "y": 103, - "w": 19, - "h": 23 - } - }, - { - "filename": "640", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 2, - "w": 21, - "h": 26 - }, - "frame": { - "x": 61, - "y": 126, - "w": 21, - "h": 26 - } - }, - { - "filename": "556", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 61, - "y": 152, - "w": 23, - "h": 23 - } - }, { "filename": "584s", "rotated": false, @@ -2146,13 +1978,13 @@ }, "frame": { "x": 60, - "y": 175, + "y": 260, "w": 26, "h": 23 } }, { - "filename": "514", + "filename": "621", "rotated": false, "trimmed": true, "sourceSize": { @@ -2160,20 +1992,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 + "x": 6, + "y": 5, + "w": 27, + "h": 23 }, "frame": { "x": 60, - "y": 198, - "w": 26, - "h": 22 + "y": 283, + "w": 27, + "h": 23 } }, { - "filename": "514s", + "filename": "638", "rotated": false, "trimmed": true, "sourceSize": { @@ -2181,16 +2013,79 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 26, - "h": 22 + "x": 10, + "y": 3, + "w": 20, + "h": 25 }, "frame": { - "x": 60, - "y": 220, - "w": 26, - "h": 22 + "x": 86, + "y": 118, + "w": 20, + "h": 25 + } + }, + { + "filename": "621s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 27, + "h": 23 + }, + "frame": { + "x": 106, + "y": 114, + "w": 27, + "h": 23 + } + }, + { + "filename": "531-mega", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 2, + "w": 22, + "h": 26 + }, + "frame": { + "x": 87, + "y": 143, + "w": 22, + "h": 26 + } + }, + { + "filename": "561", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 133, + "y": 114, + "w": 21, + "h": 23 } }, { @@ -2208,8 +2103,8 @@ "h": 22 }, "frame": { - "x": 60, - "y": 242, + "x": 154, + "y": 115, "w": 27, "h": 22 } @@ -2229,119 +2124,14 @@ "h": 22 }, "frame": { - "x": 60, - "y": 264, - "w": 27, - "h": 22 - } - }, - { - "filename": "634", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 26, - "h": 22 - }, - "frame": { - "x": 60, - "y": 286, - "w": 26, - "h": 22 - } - }, - { - "filename": "556s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 60, - "y": 308, - "w": 23, - "h": 23 - } - }, - { - "filename": "631s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 28, - "h": 20 - }, - "frame": { - "x": 98, - "y": 112, - "w": 28, - "h": 20 - } - }, - { - "filename": "600s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 5, - "y": 9, - "w": 27, - "h": 19 - }, - "frame": { - "x": 126, - "y": 114, - "w": 27, - "h": 19 - } - }, - { - "filename": "630", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 16, - "h": 22 - }, - "frame": { - "x": 82, + "x": 181, "y": 116, - "w": 16, + "w": 27, "h": 22 } }, { - "filename": "567", + "filename": "499", "rotated": false, "trimmed": true, "sourceSize": { @@ -2349,20 +2139,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, + "x": 10, "y": 7, - "w": 26, + "w": 23, "h": 21 }, "frame": { - "x": 153, - "y": 115, - "w": 26, + "x": 87, + "y": 169, + "w": 23, "h": 21 } }, { - "filename": "567s", + "filename": "531s-mega", "rotated": false, "trimmed": true, "sourceSize": { @@ -2370,78 +2160,15 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 26, - "h": 21 - }, - "frame": { - "x": 179, - "y": 115, - "w": 26, - "h": 21 - } - }, - { - "filename": "543", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 14, - "w": 18, - "h": 14 - }, - "frame": { - "x": 82, - "y": 138, - "w": 18, - "h": 14 - } - }, - { - "filename": "502s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 5, - "w": 19, - "h": 23 - }, - "frame": { - "x": 84, - "y": 152, - "w": 19, - "h": 23 - } - }, - { - "filename": "640s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, + "x": 10, "y": 2, - "w": 21, + "w": 22, "h": 26 }, "frame": { "x": 86, - "y": 175, - "w": 21, + "y": 190, + "w": 22, "h": 26 } }, @@ -2461,13 +2188,13 @@ }, "frame": { "x": 86, - "y": 201, + "y": 216, "w": 23, "h": 24 } }, { - "filename": "528", + "filename": "586-summer", "rotated": false, "trimmed": true, "sourceSize": { @@ -2475,20 +2202,104 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, - "y": 8, + "x": 8, + "y": 4, "w": 23, - "h": 20 + "h": 24 }, "frame": { - "x": 100, - "y": 132, + "x": 86, + "y": 240, "w": 23, - "h": 20 + "h": 24 } }, { - "filename": "521", + "filename": "532", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 9, + "w": 24, + "h": 19 + }, + "frame": { + "x": 86, + "y": 264, + "w": 24, + "h": 19 + } + }, + { + "filename": "556", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 87, + "y": 283, + "w": 23, + "h": 23 + } + }, + { + "filename": "514", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 109, + "y": 137, + "w": 26, + "h": 22 + } + }, + { + "filename": "514s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 135, + "y": 137, + "w": 26, + "h": 22 + } + }, + { + "filename": "505", "rotated": false, "trimmed": true, "sourceSize": { @@ -2497,19 +2308,19 @@ }, "spriteSourceSize": { "x": 10, - "y": 5, + "y": 6, "w": 20, - "h": 23 + "h": 22 }, "frame": { - "x": 103, - "y": 152, + "x": 161, + "y": 137, "w": 20, - "h": 23 + "h": 22 } }, { - "filename": "634s", + "filename": "567", "rotated": false, "trimmed": true, "sourceSize": { @@ -2517,16 +2328,121 @@ "h": 30 }, "spriteSourceSize": { - "x": 7, - "y": 6, + "x": 8, + "y": 7, "w": 26, - "h": 22 + "h": 21 }, "frame": { - "x": 123, - "y": 133, + "x": 181, + "y": 138, "w": 26, - "h": 22 + "h": 21 + } + }, + { + "filename": "631", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 28, + "h": 20 + }, + "frame": { + "x": 110, + "y": 159, + "w": 28, + "h": 20 + } + }, + { + "filename": "631s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 28, + "h": 20 + }, + "frame": { + "x": 138, + "y": 159, + "w": 28, + "h": 20 + } + }, + { + "filename": "567s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 26, + "h": 21 + }, + "frame": { + "x": 166, + "y": 159, + "w": 26, + "h": 21 + } + }, + { + "filename": "600", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 9, + "w": 27, + "h": 19 + }, + "frame": { + "x": 110, + "y": 179, + "w": 27, + "h": 19 + } + }, + { + "filename": "600s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 5, + "y": 9, + "w": 27, + "h": 19 + }, + "frame": { + "x": 137, + "y": 179, + "w": 27, + "h": 19 } }, { @@ -2544,14 +2460,14 @@ "h": 21 }, "frame": { - "x": 123, - "y": 155, + "x": 164, + "y": 180, "w": 26, "h": 21 } }, { - "filename": "637", + "filename": "568", "rotated": false, "trimmed": true, "sourceSize": { @@ -2559,20 +2475,41 @@ "h": 30 }, "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 26, - "h": 22 + "x": 9, + "y": 10, + "w": 21, + "h": 18 }, "frame": { - "x": 149, - "y": 136, - "w": 26, - "h": 22 + "x": 108, + "y": 198, + "w": 21, + "h": 18 } }, { - "filename": "637s", + "filename": "638s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 3, + "w": 20, + "h": 25 + }, + "frame": { + "x": 109, + "y": 216, + "w": 20, + "h": 25 + } + }, + { + "filename": "634", "rotated": false, "trimmed": true, "sourceSize": { @@ -2586,8 +2523,8 @@ "h": 22 }, "frame": { - "x": 175, - "y": 136, + "x": 129, + "y": 198, "w": 26, "h": 22 } @@ -2607,14 +2544,14 @@ "h": 21 }, "frame": { - "x": 149, - "y": 158, + "x": 129, + "y": 220, "w": 26, "h": 21 } }, { - "filename": "552", + "filename": "634s", "rotated": false, "trimmed": true, "sourceSize": { @@ -2622,100 +2559,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 25, - "h": 21 + "x": 7, + "y": 6, + "w": 26, + "h": 22 }, "frame": { - "x": 175, - "y": 158, - "w": 25, - "h": 21 - } - }, - { - "filename": "529", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 11, - "w": 21, - "h": 17 - }, - "frame": { - "x": 86, - "y": 225, - "w": 21, - "h": 17 - } - }, - { - "filename": "638", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 3, - "w": 20, - "h": 25 - }, - "frame": { - "x": 87, - "y": 242, - "w": 20, - "h": 25 - } - }, - { - "filename": "496", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 22, - "h": 20 - }, - "frame": { - "x": 87, - "y": 267, - "w": 22, - "h": 20 - } - }, - { - "filename": "499", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 7, - "w": 23, - "h": 21 - }, - "frame": { - "x": 86, - "y": 287, - "w": 23, - "h": 21 + "x": 109, + "y": 241, + "w": 26, + "h": 22 } }, { @@ -2733,35 +2586,14 @@ "h": 22 }, "frame": { - "x": 83, - "y": 308, + "x": 110, + "y": 263, "w": 25, "h": 22 } }, { - "filename": "630s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 16, - "h": 22 - }, - "frame": { - "x": 107, - "y": 175, - "w": 16, - "h": 22 - } - }, - { - "filename": "552s", + "filename": "552", "rotated": false, "trimmed": true, "sourceSize": { @@ -2775,180 +2607,12 @@ "h": 21 }, "frame": { - "x": 123, - "y": 176, + "x": 110, + "y": 285, "w": 25, "h": 21 } }, - { - "filename": "565s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 109, - "y": 197, - "w": 25, - "h": 22 - } - }, - { - "filename": "611", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 25, - "h": 21 - }, - "frame": { - "x": 148, - "y": 179, - "w": 25, - "h": 21 - } - }, - { - "filename": "611s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 25, - "h": 21 - }, - "frame": { - "x": 173, - "y": 179, - "w": 25, - "h": 21 - } - }, - { - "filename": "542", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 14, - "h": 21 - }, - "frame": { - "x": 134, - "y": 197, - "w": 14, - "h": 21 - } - }, - { - "filename": "620", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 148, - "y": 200, - "w": 25, - "h": 22 - } - }, - { - "filename": "620s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 173, - "y": 200, - "w": 25, - "h": 22 - } - }, - { - "filename": "628", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 10, - "w": 25, - "h": 19 - }, - "frame": { - "x": 109, - "y": 219, - "w": 25, - "h": 19 - } - }, - { - "filename": "586-summer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 107, - "y": 238, - "w": 23, - "h": 24 - } - }, { "filename": "586-winter", "rotated": false, @@ -2964,222 +2628,12 @@ "h": 24 }, "frame": { - "x": 109, - "y": 262, + "x": 135, + "y": 241, "w": 23, "h": 24 } }, - { - "filename": "518", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 109, - "y": 286, - "w": 23, - "h": 22 - } - }, - { - "filename": "647-ordinary", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 108, - "y": 308, - "w": 25, - "h": 22 - } - }, - { - "filename": "542s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 14, - "h": 21 - }, - "frame": { - "x": 134, - "y": 218, - "w": 14, - "h": 21 - } - }, - { - "filename": "628s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 7, - "y": 10, - "w": 25, - "h": 19 - }, - "frame": { - "x": 148, - "y": 222, - "w": 25, - "h": 19 - } - }, - { - "filename": "647s-ordinary", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 25, - "h": 22 - }, - "frame": { - "x": 173, - "y": 222, - "w": 25, - "h": 22 - } - }, - { - "filename": "585-autumn", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 18, - "h": 22 - }, - "frame": { - "x": 130, - "y": 239, - "w": 18, - "h": 22 - } - }, - { - "filename": "516", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 24, - "h": 21 - }, - "frame": { - "x": 148, - "y": 241, - "w": 24, - "h": 21 - } - }, - { - "filename": "516s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 24, - "h": 21 - }, - "frame": { - "x": 172, - "y": 244, - "w": 24, - "h": 21 - } - }, - { - "filename": "648-pirouette", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 5, - "w": 15, - "h": 23 - }, - "frame": { - "x": 132, - "y": 261, - "w": 15, - "h": 23 - } - }, - { - "filename": "518s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 147, - "y": 262, - "w": 23, - "h": 22 - } - }, { "filename": "586s-spring", "rotated": false, @@ -3195,14 +2649,56 @@ "h": 24 }, "frame": { - "x": 132, - "y": 284, + "x": 135, + "y": 265, "w": 23, "h": 24 } }, { - "filename": "531", + "filename": "499s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 7, + "w": 23, + "h": 21 + }, + "frame": { + "x": 135, + "y": 289, + "w": 23, + "h": 21 + } + }, + { + "filename": "637", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 155, + "y": 201, + "w": 26, + "h": 22 + } + }, + { + "filename": "568s", "rotated": false, "trimmed": true, "sourceSize": { @@ -3211,78 +2707,15 @@ }, "spriteSourceSize": { "x": 9, - "y": 6, - "w": 22, - "h": 22 - }, - "frame": { - "x": 133, - "y": 308, - "w": 22, - "h": 22 - } - }, - { - "filename": "525", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 24, - "h": 21 - }, - "frame": { - "x": 170, - "y": 265, - "w": 24, - "h": 21 - } - }, - { - "filename": "648s-pirouette", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 5, - "w": 15, - "h": 23 + "y": 10, + "w": 21, + "h": 18 }, "frame": { "x": 155, - "y": 284, - "w": 15, - "h": 23 - } - }, - { - "filename": "525s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 7, - "w": 24, - "h": 21 - }, - "frame": { - "x": 170, - "y": 286, - "w": 24, - "h": 21 + "y": 223, + "w": 21, + "h": 18 } }, { @@ -3300,8 +2733,8 @@ "h": 24 }, "frame": { - "x": 155, - "y": 307, + "x": 158, + "y": 241, "w": 23, "h": 24 } @@ -3321,14 +2754,98 @@ "h": 24 }, "frame": { - "x": 178, - "y": 307, + "x": 158, + "y": 265, "w": 23, "h": 24 } }, { - "filename": "638s", + "filename": "516", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 24, + "h": 21 + }, + "frame": { + "x": 158, + "y": 289, + "w": 24, + "h": 21 + } + }, + { + "filename": "494", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 192, + "y": 159, + "w": 18, + "h": 22 + } + }, + { + "filename": "496", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 22, + "h": 20 + }, + "frame": { + "x": 190, + "y": 181, + "w": 22, + "h": 20 + } + }, + { + "filename": "637s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 26, + "h": 22 + }, + "frame": { + "x": 181, + "y": 201, + "w": 26, + "h": 22 + } + }, + { + "filename": "504", "rotated": false, "trimmed": true, "sourceSize": { @@ -3337,15 +2854,15 @@ }, "spriteSourceSize": { "x": 10, - "y": 3, + "y": 10, "w": 20, - "h": 25 + "h": 18 }, "frame": { - "x": 81, - "y": 570, + "x": 176, + "y": 223, "w": 20, - "h": 25 + "h": 18 } }, { @@ -3363,8 +2880,8 @@ "h": 24 }, "frame": { - "x": 81, - "y": 595, + "x": 181, + "y": 241, "w": 23, "h": 24 } @@ -3384,14 +2901,161 @@ "h": 24 }, "frame": { - "x": 81, - "y": 619, + "x": 181, + "y": 265, "w": 23, "h": 24 } }, { - "filename": "564", + "filename": "516s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 24, + "h": 21 + }, + "frame": { + "x": 182, + "y": 289, + "w": 24, + "h": 21 + } + }, + { + "filename": "498", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 18, + "h": 18 + }, + "frame": { + "x": 196, + "y": 223, + "w": 18, + "h": 18 + } + }, + { + "filename": "494s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 207, + "y": 201, + "w": 18, + "h": 22 + } + }, + { + "filename": "521", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 5, + "w": 20, + "h": 23 + }, + "frame": { + "x": 225, + "y": 115, + "w": 20, + "h": 23 + } + }, + { + "filename": "522", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 17, + "h": 22 + }, + "frame": { + "x": 208, + "y": 116, + "w": 17, + "h": 22 + } + }, + { + "filename": "552s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 25, + "h": 21 + }, + "frame": { + "x": 207, + "y": 138, + "w": 25, + "h": 21 + } + }, + { + "filename": "594", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 6, + "w": 13, + "h": 22 + }, + "frame": { + "x": 232, + "y": 138, + "w": 13, + "h": 22 + } + }, + { + "filename": "531", "rotated": false, "trimmed": true, "sourceSize": { @@ -3400,19 +3064,103 @@ }, "spriteSourceSize": { "x": 9, - "y": 13, - "w": 23, - "h": 15 + "y": 6, + "w": 22, + "h": 22 }, "frame": { - "x": 81, - "y": 643, - "w": 23, - "h": 15 + "x": 210, + "y": 159, + "w": 22, + "h": 22 } }, { - "filename": "561", + "filename": "594s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 6, + "w": 13, + "h": 22 + }, + "frame": { + "x": 232, + "y": 160, + "w": 13, + "h": 22 + } + }, + { + "filename": "513", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, + "w": 20, + "h": 20 + }, + "frame": { + "x": 212, + "y": 181, + "w": 20, + "h": 20 + } + }, + { + "filename": "521s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 5, + "w": 20, + "h": 23 + }, + "frame": { + "x": 225, + "y": 201, + "w": 20, + "h": 23 + } + }, + { + "filename": "605", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 13, + "h": 19 + }, + "frame": { + "x": 232, + "y": 182, + "w": 13, + "h": 19 + } + }, + { + "filename": "625", "rotated": false, "trimmed": true, "sourceSize": { @@ -3422,18 +3170,123 @@ "spriteSourceSize": { "x": 9, "y": 5, - "w": 21, + "w": 22, + "h": 24 + }, + "frame": { + "x": 204, + "y": 241, + "w": 22, + "h": 24 + } + }, + { + "filename": "502", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 5, + "w": 19, "h": 23 }, "frame": { - "x": 84, - "y": 658, - "w": 21, + "x": 226, + "y": 224, + "w": 19, "h": 23 } }, { - "filename": "505", + "filename": "502s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 5, + "w": 19, + "h": 23 + }, + "frame": { + "x": 226, + "y": 247, + "w": 19, + "h": 23 + } + }, + { + "filename": "625s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 5, + "w": 22, + "h": 24 + }, + "frame": { + "x": 204, + "y": 265, + "w": 22, + "h": 24 + } + }, + { + "filename": "520", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 226, + "y": 270, + "w": 19, + "h": 20 + } + }, + { + "filename": "588", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 11, + "w": 12, + "h": 17 + }, + "frame": { + "x": 214, + "y": 224, + "w": 12, + "h": 17 + } + }, + { + "filename": "505s", "rotated": false, "trimmed": true, "sourceSize": { @@ -3447,14 +3300,77 @@ "h": 22 }, "frame": { - "x": 212, - "y": 71, + "x": 206, + "y": 289, "w": 20, "h": 22 } }, { - "filename": "573", + "filename": "520s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 226, + "y": 290, + "w": 19, + "h": 20 + } + }, + { + "filename": "592-f", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 226, + "y": 310, + "w": 19, + "h": 20 + } + }, + { + "filename": "565s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 60, + "y": 306, + "w": 25, + "h": 22 + } + }, + { + "filename": "620", "rotated": false, "trimmed": true, "sourceSize": { @@ -3463,19 +3379,124 @@ }, "spriteSourceSize": { "x": 8, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 85, + "y": 306, + "w": 25, + "h": 22 + } + }, + { + "filename": "620s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 110, + "y": 306, + "w": 25, + "h": 22 + } + }, + { + "filename": "647-ordinary", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 58, + "y": 328, + "w": 25, + "h": 22 + } + }, + { + "filename": "647s-ordinary", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 25, + "h": 22 + }, + "frame": { + "x": 83, + "y": 328, + "w": 25, + "h": 22 + } + }, + { + "filename": "611", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, "y": 7, - "w": 24, + "w": 25, "h": 21 }, "frame": { - "x": 232, - "y": 66, - "w": 24, + "x": 108, + "y": 328, + "w": 25, "h": 21 } }, { - "filename": "573s", + "filename": "611s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 25, + "h": 21 + }, + "frame": { + "x": 135, + "y": 310, + "w": 25, + "h": 21 + } + }, + { + "filename": "525", "rotated": false, "trimmed": true, "sourceSize": { @@ -3489,8 +3510,8 @@ "h": 21 }, "frame": { - "x": 232, - "y": 87, + "x": 160, + "y": 310, "w": 24, "h": 21 } @@ -3510,14 +3531,14 @@ "h": 22 }, "frame": { - "x": 210, - "y": 93, + "x": 184, + "y": 310, "w": 22, "h": 22 } }, { - "filename": "532", + "filename": "511", "rotated": false, "trimmed": true, "sourceSize": { @@ -3525,20 +3546,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 8, - "y": 9, - "w": 24, - "h": 19 + "x": 11, + "y": 7, + "w": 20, + "h": 21 }, "frame": { - "x": 232, - "y": 108, - "w": 24, - "h": 19 + "x": 206, + "y": 311, + "w": 20, + "h": 21 } }, { - "filename": "499s", + "filename": "592", "rotated": false, "trimmed": true, "sourceSize": { @@ -3547,122 +3568,143 @@ }, "spriteSourceSize": { "x": 10, - "y": 7, - "w": 23, - "h": 21 - }, - "frame": { - "x": 205, - "y": 115, - "w": 23, - "h": 21 - } - }, - { - "filename": "555", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 201, - "y": 136, - "w": 23, - "h": 22 - } - }, - { - "filename": "555s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 200, - "y": 158, - "w": 23, - "h": 22 - } - }, - { - "filename": "625", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 22, - "h": 24 - }, - "frame": { - "x": 198, - "y": 180, - "w": 22, - "h": 24 - } - }, - { - "filename": "625s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 22, - "h": 24 - }, - "frame": { - "x": 198, - "y": 204, - "w": 22, - "h": 24 - } - }, - { - "filename": "496s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, "y": 8, - "w": 22, + "w": 19, "h": 20 }, "frame": { - "x": 198, - "y": 228, - "w": 22, + "x": 226, + "y": 330, + "w": 19, "h": 20 } }, + { + "filename": "628", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 10, + "w": 25, + "h": 19 + }, + "frame": { + "x": 133, + "y": 331, + "w": 25, + "h": 19 + } + }, + { + "filename": "628s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 7, + "y": 10, + "w": 25, + "h": 19 + }, + "frame": { + "x": 158, + "y": 331, + "w": 25, + "h": 19 + } + }, + { + "filename": "525s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 24, + "h": 21 + }, + "frame": { + "x": 183, + "y": 332, + "w": 24, + "h": 21 + } + }, + { + "filename": "592s-f", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 207, + "y": 332, + "w": 19, + "h": 20 + } + }, + { + "filename": "592s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 226, + "y": 350, + "w": 19, + "h": 20 + } + }, + { + "filename": "608", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 19, + "h": 18 + }, + "frame": { + "x": 207, + "y": 352, + "w": 19, + "h": 18 + } + }, { "filename": "532s", "rotated": false, @@ -3678,14 +3720,14 @@ "h": 19 }, "frame": { - "x": 196, - "y": 248, + "x": 58, + "y": 350, "w": 24, "h": 19 } }, { - "filename": "649", + "filename": "556s", "rotated": false, "trimmed": true, "sourceSize": { @@ -3695,18 +3737,18 @@ "spriteSourceSize": { "x": 8, "y": 5, - "w": 22, - "h": 24 + "w": 23, + "h": 23 }, "frame": { - "x": 194, - "y": 267, - "w": 22, - "h": 24 + "x": 57, + "y": 369, + "w": 23, + "h": 23 } }, { - "filename": "544", + "filename": "573", "rotated": false, "trimmed": true, "sourceSize": { @@ -3714,16 +3756,37 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, - "y": 12, - "w": 22, - "h": 16 + "x": 8, + "y": 7, + "w": 24, + "h": 21 }, "frame": { - "x": 194, - "y": 291, - "w": 22, - "h": 16 + "x": 82, + "y": 350, + "w": 24, + "h": 21 + } + }, + { + "filename": "573s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 7, + "w": 24, + "h": 21 + }, + "frame": { + "x": 80, + "y": 371, + "w": 24, + "h": 21 } }, { @@ -3741,75 +3804,12 @@ "h": 24 }, "frame": { - "x": 201, - "y": 307, + "x": 58, + "y": 392, "w": 22, "h": 24 } }, - { - "filename": "632", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 12, - "w": 24, - "h": 16 - }, - "frame": { - "x": 228, - "y": 127, - "w": 24, - "h": 16 - } - }, - { - "filename": "632s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 12, - "w": 24, - "h": 16 - }, - "frame": { - "x": 224, - "y": 143, - "w": 24, - "h": 16 - } - }, - { - "filename": "614", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 6, - "w": 23, - "h": 22 - }, - "frame": { - "x": 223, - "y": 159, - "w": 23, - "h": 22 - } - }, { "filename": "649-chill", "rotated": false, @@ -3825,33 +3825,12 @@ "h": 24 }, "frame": { - "x": 220, - "y": 181, + "x": 58, + "y": 416, "w": 22, "h": 24 } }, - { - "filename": "648-aria", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 14, - "h": 21 - }, - "frame": { - "x": 242, - "y": 181, - "w": 14, - "h": 21 - } - }, { "filename": "649-douse", "rotated": false, @@ -3867,33 +3846,12 @@ "h": 24 }, "frame": { - "x": 220, - "y": 205, + "x": 80, + "y": 392, "w": 22, "h": 24 } }, - { - "filename": "648s-aria", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 7, - "w": 14, - "h": 21 - }, - "frame": { - "x": 242, - "y": 202, - "w": 14, - "h": 21 - } - }, { "filename": "649-shock", "rotated": false, @@ -3909,98 +3867,14 @@ "h": 24 }, "frame": { - "x": 220, - "y": 229, + "x": 58, + "y": 440, "w": 22, "h": 24 } }, { - "filename": "624", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 8, - "w": 14, - "h": 20 - }, - "frame": { - "x": 242, - "y": 223, - "w": 14, - "h": 20 - } - }, - { - "filename": "624s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 8, - "w": 14, - "h": 20 - }, - "frame": { - "x": 242, - "y": 243, - "w": 14, - "h": 20 - } - }, - { - "filename": "539", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 6, - "w": 22, - "h": 22 - }, - "frame": { - "x": 220, - "y": 253, - "w": 22, - "h": 22 - } - }, - { - "filename": "574", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 10, - "w": 14, - "h": 18 - }, - "frame": { - "x": 242, - "y": 263, - "w": 14, - "h": 18 - } - }, - { - "filename": "649s", + "filename": "649", "rotated": false, "trimmed": true, "sourceSize": { @@ -4014,117 +3888,12 @@ "h": 24 }, "frame": { - "x": 216, - "y": 275, + "x": 80, + "y": 416, "w": 22, "h": 24 } }, - { - "filename": "585-spring", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 18, - "h": 22 - }, - "frame": { - "x": 238, - "y": 281, - "w": 18, - "h": 22 - } - }, - { - "filename": "606", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 15, - "h": 22 - }, - "frame": { - "x": 223, - "y": 299, - "w": 15, - "h": 22 - } - }, - { - "filename": "585-summer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 18, - "h": 22 - }, - "frame": { - "x": 238, - "y": 303, - "w": 18, - "h": 22 - } - }, - { - "filename": "517", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 14, - "w": 15, - "h": 14 - }, - "frame": { - "x": 223, - "y": 321, - "w": 15, - "h": 14 - } - }, - { - "filename": "585-winter", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 18, - "h": 22 - }, - "frame": { - "x": 238, - "y": 325, - "w": 18, - "h": 22 - } - }, { "filename": "649s-burn", "rotated": false, @@ -4140,8 +3909,8 @@ "h": 24 }, "frame": { - "x": 80, - "y": 331, + "x": 58, + "y": 464, "w": 22, "h": 24 } @@ -4162,7 +3931,7 @@ }, "frame": { "x": 80, - "y": 355, + "y": 440, "w": 22, "h": 24 } @@ -4182,8 +3951,8 @@ "h": 24 }, "frame": { - "x": 102, - "y": 330, + "x": 58, + "y": 488, "w": 22, "h": 24 } @@ -4203,12 +3972,180 @@ "h": 24 }, "frame": { - "x": 124, - "y": 330, + "x": 80, + "y": 464, "w": 22, "h": 24 } }, + { + "filename": "649s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 22, + "h": 24 + }, + "frame": { + "x": 58, + "y": 512, + "w": 22, + "h": 24 + } + }, + { + "filename": "518", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 80, + "y": 488, + "w": 23, + "h": 22 + } + }, + { + "filename": "518s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 80, + "y": 510, + "w": 23, + "h": 22 + } + }, + { + "filename": "496s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 22, + "h": 20 + }, + "frame": { + "x": 58, + "y": 536, + "w": 22, + "h": 20 + } + }, + { + "filename": "555", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 80, + "y": 532, + "w": 23, + "h": 22 + } + }, + { + "filename": "528", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 23, + "h": 20 + }, + "frame": { + "x": 57, + "y": 556, + "w": 23, + "h": 20 + } + }, + { + "filename": "555s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 80, + "y": 554, + "w": 23, + "h": 22 + } + }, + { + "filename": "614", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 23, + "h": 22 + }, + "frame": { + "x": 56, + "y": 576, + "w": 23, + "h": 22 + } + }, { "filename": "614s", "rotated": false, @@ -4224,14 +4161,35 @@ "h": 22 }, "frame": { - "x": 102, - "y": 354, + "x": 79, + "y": 576, "w": 23, "h": 22 } }, { - "filename": "507", + "filename": "632", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 12, + "w": 24, + "h": 16 + }, + "frame": { + "x": 56, + "y": 598, + "w": 24, + "h": 16 + } + }, + { + "filename": "528s", "rotated": false, "trimmed": true, "sourceSize": { @@ -4240,59 +4198,59 @@ }, "spriteSourceSize": { "x": 9, + "y": 8, + "w": 23, + "h": 20 + }, + "frame": { + "x": 80, + "y": 598, + "w": 23, + "h": 20 + } + }, + { + "filename": "632s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 12, + "w": 24, + "h": 16 + }, + "frame": { + "x": 55, + "y": 614, + "w": 24, + "h": 16 + } + }, + { + "filename": "539", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, "y": 6, - "w": 21, + "w": 22, "h": 22 }, "frame": { - "x": 125, - "y": 354, - "w": 21, + "x": 54, + "y": 630, + "w": 22, "h": 22 } }, - { - "filename": "521s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 5, - "w": 20, - "h": 23 - }, - "frame": { - "x": 83, - "y": 379, - "w": 20, - "h": 23 - } - }, - { - "filename": "561s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 83, - "y": 402, - "w": 21, - "h": 23 - } - }, { "filename": "539s", "rotated": false, @@ -4308,12 +4266,96 @@ "h": 22 }, "frame": { - "x": 103, - "y": 376, + "x": 54, + "y": 652, "w": 22, "h": 22 } }, + { + "filename": "561s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 54, + "y": 674, + "w": 21, + "h": 23 + } + }, + { + "filename": "544", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 12, + "w": 22, + "h": 16 + }, + "frame": { + "x": 54, + "y": 697, + "w": 22, + "h": 16 + } + }, + { + "filename": "564", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 13, + "w": 23, + "h": 15 + }, + "frame": { + "x": 79, + "y": 618, + "w": 23, + "h": 15 + } + }, + { + "filename": "507", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 6, + "w": 21, + "h": 22 + }, + "frame": { + "x": 76, + "y": 633, + "w": 21, + "h": 22 + } + }, { "filename": "507s", "rotated": false, @@ -4329,12 +4371,159 @@ "h": 22 }, "frame": { - "x": 125, - "y": 376, + "x": 76, + "y": 655, "w": 21, "h": 22 } }, + { + "filename": "575", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 22, + "h": 20 + }, + "frame": { + "x": 75, + "y": 677, + "w": 22, + "h": 20 + } + }, + { + "filename": "544s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 12, + "w": 22, + "h": 16 + }, + "frame": { + "x": 76, + "y": 697, + "w": 22, + "h": 16 + } + }, + { + "filename": "648-pirouette", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 5, + "w": 15, + "h": 23 + }, + "frame": { + "x": 97, + "y": 633, + "w": 15, + "h": 23 + } + }, + { + "filename": "648s-pirouette", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 5, + "w": 15, + "h": 23 + }, + "frame": { + "x": 97, + "y": 656, + "w": 15, + "h": 23 + } + }, + { + "filename": "498s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 18, + "h": 18 + }, + "frame": { + "x": 97, + "y": 679, + "w": 18, + "h": 18 + } + }, + { + "filename": "551", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 8, + "y": 13, + "w": 22, + "h": 16 + }, + "frame": { + "x": 98, + "y": 697, + "w": 22, + "h": 16 + } + }, + { + "filename": "527", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 13, + "w": 20, + "h": 15 + }, + "frame": { + "x": 102, + "y": 618, + "w": 20, + "h": 15 + } + }, { "filename": "509", "rotated": false, @@ -4350,8 +4539,8 @@ "h": 22 }, "frame": { - "x": 104, - "y": 398, + "x": 112, + "y": 633, "w": 21, "h": 22 } @@ -4371,14 +4560,14 @@ "h": 22 }, "frame": { - "x": 125, - "y": 398, + "x": 112, + "y": 655, "w": 21, "h": 22 } }, { - "filename": "505s", + "filename": "513s", "rotated": false, "trimmed": true, "sourceSize": { @@ -4386,20 +4575,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 6, + "x": 11, + "y": 8, "w": 20, - "h": 22 + "h": 20 }, "frame": { - "x": 84, - "y": 425, + "x": 115, + "y": 677, "w": 20, - "h": 22 + "h": 20 } }, { - "filename": "528s", + "filename": "551s", "rotated": false, "trimmed": true, "sourceSize": { @@ -4407,16 +4596,37 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 23, - "h": 20 + "x": 8, + "y": 13, + "w": 22, + "h": 16 }, "frame": { - "x": 104, - "y": 420, - "w": 23, - "h": 20 + "x": 120, + "y": 697, + "w": 22, + "h": 16 + } + }, + { + "filename": "522s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 17, + "h": 22 + }, + "frame": { + "x": 102, + "y": 392, + "w": 17, + "h": 22 } }, { @@ -4434,8 +4644,8 @@ "h": 22 }, "frame": { - "x": 84, - "y": 447, + "x": 102, + "y": 414, "w": 21, "h": 22 } @@ -4455,8 +4665,8 @@ "h": 22 }, "frame": { - "x": 84, - "y": 469, + "x": 102, + "y": 436, "w": 21, "h": 22 } @@ -4476,12 +4686,33 @@ "h": 21 }, "frame": { - "x": 84, - "y": 491, + "x": 102, + "y": 458, "w": 21, "h": 21 } }, + { + "filename": "511s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 7, + "w": 20, + "h": 21 + }, + "frame": { + "x": 104, + "y": 371, + "w": 20, + "h": 21 + } + }, { "filename": "515s", "rotated": false, @@ -4497,138 +4728,12 @@ "h": 21 }, "frame": { - "x": 84, - "y": 512, + "x": 106, + "y": 350, "w": 21, "h": 21 } }, - { - "filename": "576", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 20, - "h": 22 - }, - "frame": { - "x": 84, - "y": 533, - "w": 20, - "h": 22 - } - }, - { - "filename": "527", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 13, - "w": 20, - "h": 15 - }, - "frame": { - "x": 84, - "y": 555, - "w": 20, - "h": 15 - } - }, - { - "filename": "511", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 7, - "w": 20, - "h": 21 - }, - "frame": { - "x": 127, - "y": 420, - "w": 20, - "h": 21 - } - }, - { - "filename": "575", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 22, - "h": 20 - }, - "frame": { - "x": 105, - "y": 440, - "w": 22, - "h": 20 - } - }, - { - "filename": "575s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 22, - "h": 20 - }, - "frame": { - "x": 105, - "y": 460, - "w": 22, - "h": 20 - } - }, - { - "filename": "576s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 6, - "w": 20, - "h": 22 - }, - "frame": { - "x": 127, - "y": 441, - "w": 20, - "h": 22 - } - }, { "filename": "587", "rotated": false, @@ -4644,8 +4749,8 @@ "h": 20 }, "frame": { - "x": 105, - "y": 480, + "x": 127, + "y": 350, "w": 23, "h": 20 } @@ -4665,14 +4770,14 @@ "h": 20 }, "frame": { - "x": 105, - "y": 500, + "x": 150, + "y": 350, "w": 23, "h": 20 } }, { - "filename": "495", + "filename": "576", "rotated": false, "trimmed": true, "sourceSize": { @@ -4681,15 +4786,36 @@ }, "spriteSourceSize": { "x": 10, - "y": 11, + "y": 6, "w": 20, - "h": 17 + "h": 22 }, "frame": { - "x": 127, - "y": 463, + "x": 103, + "y": 479, "w": 20, - "h": 17 + "h": 22 + } + }, + { + "filename": "576s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 20, + "h": 22 + }, + "frame": { + "x": 103, + "y": 501, + "w": 20, + "h": 22 } }, { @@ -4707,180 +4833,12 @@ "h": 22 }, "frame": { - "x": 128, - "y": 480, + "x": 103, + "y": 523, "w": 20, "h": 22 } }, - { - "filename": "504", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 10, - "w": 20, - "h": 18 - }, - "frame": { - "x": 128, - "y": 502, - "w": 20, - "h": 18 - } - }, - { - "filename": "564s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 13, - "w": 23, - "h": 15 - }, - "frame": { - "x": 105, - "y": 520, - "w": 23, - "h": 15 - } - }, - { - "filename": "617", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 23, - "h": 20 - }, - "frame": { - "x": 104, - "y": 535, - "w": 23, - "h": 20 - } - }, - { - "filename": "617s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 23, - "h": 20 - }, - "frame": { - "x": 104, - "y": 555, - "w": 23, - "h": 20 - } - }, - { - "filename": "513", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 8, - "w": 20, - "h": 20 - }, - "frame": { - "x": 101, - "y": 575, - "w": 20, - "h": 20 - } - }, - { - "filename": "522", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 17, - "h": 22 - }, - "frame": { - "x": 104, - "y": 595, - "w": 17, - "h": 22 - } - }, - { - "filename": "522s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 17, - "h": 22 - }, - "frame": { - "x": 104, - "y": 617, - "w": 17, - "h": 22 - } - }, - { - "filename": "572", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 9, - "w": 22, - "h": 19 - }, - "frame": { - "x": 104, - "y": 639, - "w": 22, - "h": 19 - } - }, { "filename": "591s", "rotated": false, @@ -4896,14 +4854,14 @@ "h": 22 }, "frame": { - "x": 105, - "y": 658, + "x": 103, + "y": 545, "w": 20, "h": 22 } }, { - "filename": "495s", + "filename": "585-autumn", "rotated": false, "trimmed": true, "sourceSize": { @@ -4912,99 +4870,15 @@ }, "spriteSourceSize": { "x": 10, - "y": 11, - "w": 20, - "h": 17 + "y": 6, + "w": 18, + "h": 22 }, "frame": { - "x": 128, - "y": 520, - "w": 20, - "h": 17 - } - }, - { - "filename": "511s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 7, - "w": 20, - "h": 21 - }, - "frame": { - "x": 127, - "y": 537, - "w": 20, - "h": 21 - } - }, - { - "filename": "504s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 10, - "w": 20, - "h": 18 - }, - "frame": { - "x": 127, - "y": 558, - "w": 20, - "h": 18 - } - }, - { - "filename": "560", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 7, - "w": 20, - "h": 21 - }, - "frame": { - "x": 121, - "y": 576, - "w": 20, - "h": 21 - } - }, - { - "filename": "560s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 7, - "w": 20, - "h": 21 - }, - "frame": { - "x": 121, - "y": 597, - "w": 20, - "h": 21 + "x": 119, + "y": 392, + "w": 18, + "h": 22 } }, { @@ -5022,14 +4896,14 @@ "h": 21 }, "frame": { - "x": 121, - "y": 618, + "x": 124, + "y": 371, "w": 18, "h": 21 } }, { - "filename": "513s", + "filename": "617", "rotated": false, "trimmed": true, "sourceSize": { @@ -5037,18 +4911,81 @@ "h": 30 }, "spriteSourceSize": { - "x": 11, + "x": 9, "y": 8, - "w": 20, + "w": 23, "h": 20 }, "frame": { - "x": 126, - "y": 639, - "w": 20, + "x": 142, + "y": 370, + "w": 23, "h": 20 } }, + { + "filename": "585-spring", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 123, + "y": 414, + "w": 18, + "h": 22 + } + }, + { + "filename": "585-summer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 123, + "y": 436, + "w": 18, + "h": 22 + } + }, + { + "filename": "585-winter", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 123, + "y": 458, + "w": 18, + "h": 22 + } + }, { "filename": "585s-autumn", "rotated": false, @@ -5064,8 +5001,8 @@ "h": 22 }, "frame": { - "x": 125, - "y": 659, + "x": 123, + "y": 480, "w": 18, "h": 22 } @@ -5085,12 +5022,432 @@ "h": 22 }, "frame": { - "x": 143, - "y": 659, + "x": 123, + "y": 502, "w": 18, "h": 22 } }, + { + "filename": "585s-summer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 123, + "y": 524, + "w": 18, + "h": 22 + } + }, + { + "filename": "521s-f", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 7, + "w": 18, + "h": 21 + }, + "frame": { + "x": 123, + "y": 546, + "w": 18, + "h": 21 + } + }, + { + "filename": "564s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 13, + "w": 23, + "h": 15 + }, + "frame": { + "x": 103, + "y": 567, + "w": 23, + "h": 15 + } + }, + { + "filename": "562", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 12, + "w": 22, + "h": 16 + }, + "frame": { + "x": 102, + "y": 582, + "w": 22, + "h": 16 + } + }, + { + "filename": "575s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 22, + "h": 20 + }, + "frame": { + "x": 103, + "y": 598, + "w": 22, + "h": 20 + } + }, + { + "filename": "585s-winter", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 6, + "w": 18, + "h": 22 + }, + "frame": { + "x": 137, + "y": 392, + "w": 18, + "h": 22 + } + }, + { + "filename": "606", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 15, + "h": 22 + }, + "frame": { + "x": 141, + "y": 414, + "w": 15, + "h": 22 + } + }, + { + "filename": "606s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 15, + "h": 22 + }, + "frame": { + "x": 141, + "y": 436, + "w": 15, + "h": 22 + } + }, + { + "filename": "630", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 16, + "h": 22 + }, + "frame": { + "x": 141, + "y": 458, + "w": 16, + "h": 22 + } + }, + { + "filename": "630s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 6, + "w": 16, + "h": 22 + }, + "frame": { + "x": 141, + "y": 480, + "w": 16, + "h": 22 + } + }, + { + "filename": "549", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 7, + "w": 17, + "h": 21 + }, + "frame": { + "x": 141, + "y": 502, + "w": 17, + "h": 21 + } + }, + { + "filename": "549s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 7, + "w": 17, + "h": 21 + }, + "frame": { + "x": 141, + "y": 523, + "w": 17, + "h": 21 + } + }, + { + "filename": "560", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 7, + "w": 20, + "h": 21 + }, + "frame": { + "x": 141, + "y": 544, + "w": 20, + "h": 21 + } + }, + { + "filename": "495", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 11, + "w": 20, + "h": 17 + }, + "frame": { + "x": 126, + "y": 567, + "w": 20, + "h": 17 + } + }, + { + "filename": "546", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 14, + "w": 21, + "h": 14 + }, + "frame": { + "x": 124, + "y": 584, + "w": 21, + "h": 14 + } + }, + { + "filename": "560s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 7, + "w": 20, + "h": 21 + }, + "frame": { + "x": 125, + "y": 598, + "w": 20, + "h": 21 + } + }, + { + "filename": "546s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 14, + "w": 21, + "h": 14 + }, + "frame": { + "x": 122, + "y": 619, + "w": 21, + "h": 14 + } + }, + { + "filename": "572", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 9, + "w": 22, + "h": 19 + }, + "frame": { + "x": 146, + "y": 565, + "w": 22, + "h": 19 + } + }, + { + "filename": "617s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 23, + "h": 20 + }, + "frame": { + "x": 145, + "y": 584, + "w": 23, + "h": 20 + } + }, + { + "filename": "562s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 12, + "w": 22, + "h": 16 + }, + "frame": { + "x": 145, + "y": 604, + "w": 22, + "h": 16 + } + }, { "filename": "572s", "rotated": false, @@ -5106,8 +5463,8 @@ "h": 19 }, "frame": { - "x": 146, - "y": 331, + "x": 143, + "y": 620, "w": 22, "h": 19 } @@ -5127,8 +5484,8 @@ "h": 19 }, "frame": { - "x": 146, - "y": 350, + "x": 133, + "y": 639, "w": 22, "h": 19 } @@ -5148,14 +5505,14 @@ "h": 19 }, "frame": { - "x": 168, - "y": 331, + "x": 133, + "y": 658, "w": 22, "h": 19 } }, { - "filename": "585s-summer", + "filename": "615", "rotated": false, "trimmed": true, "sourceSize": { @@ -5164,19 +5521,61 @@ }, "spriteSourceSize": { "x": 10, - "y": 6, - "w": 18, - "h": 22 + "y": 8, + "w": 19, + "h": 20 }, "frame": { - "x": 146, - "y": 369, - "w": 18, - "h": 22 + "x": 135, + "y": 677, + "w": 19, + "h": 20 } }, { - "filename": "585s-winter", + "filename": "599", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 11, + "w": 22, + "h": 16 + }, + "frame": { + "x": 142, + "y": 697, + "w": 22, + "h": 16 + } + }, + { + "filename": "542", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 7, + "w": 14, + "h": 21 + }, + "frame": { + "x": 155, + "y": 639, + "w": 14, + "h": 21 + } + }, + { + "filename": "495s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5185,15 +5584,141 @@ }, "spriteSourceSize": { "x": 10, - "y": 6, - "w": 18, - "h": 22 + "y": 11, + "w": 20, + "h": 17 }, "frame": { - "x": 146, - "y": 391, + "x": 155, + "y": 660, + "w": 20, + "h": 17 + } + }, + { + "filename": "615s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 19, + "h": 20 + }, + "frame": { + "x": 154, + "y": 677, + "w": 19, + "h": 20 + } + }, + { + "filename": "599s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 11, + "w": 22, + "h": 16 + }, + "frame": { + "x": 164, + "y": 697, + "w": 22, + "h": 16 + } + }, + { + "filename": "529", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 11, + "w": 21, + "h": 17 + }, + "frame": { + "x": 186, + "y": 353, + "w": 21, + "h": 17 + } + }, + { + "filename": "605s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 9, + "w": 13, + "h": 19 + }, + "frame": { + "x": 173, + "y": 353, + "w": 13, + "h": 19 + } + }, + { + "filename": "610", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 8, "w": 18, - "h": 22 + "h": 20 + }, + "frame": { + "x": 173, + "y": 677, + "w": 18, + "h": 20 + } + }, + { + "filename": "595", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 12, + "w": 21, + "h": 16 + }, + "frame": { + "x": 186, + "y": 697, + "w": 21, + "h": 16 } }, { @@ -5211,8 +5736,8 @@ "h": 19 }, "frame": { - "x": 190, - "y": 331, + "x": 165, + "y": 372, "w": 21, "h": 19 } @@ -5232,621 +5757,12 @@ "h": 19 }, "frame": { - "x": 168, - "y": 350, + "x": 186, + "y": 370, "w": 21, "h": 19 } }, - { - "filename": "520", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 164, - "y": 369, - "w": 19, - "h": 20 - } - }, - { - "filename": "520s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 164, - "y": 389, - "w": 19, - "h": 20 - } - }, - { - "filename": "568", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 10, - "w": 21, - "h": 18 - }, - "frame": { - "x": 189, - "y": 350, - "w": 21, - "h": 18 - } - }, - { - "filename": "548", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 12, - "h": 18 - }, - "frame": { - "x": 211, - "y": 331, - "w": 12, - "h": 18 - } - }, - { - "filename": "517s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 14, - "w": 15, - "h": 14 - }, - "frame": { - "x": 223, - "y": 335, - "w": 15, - "h": 14 - } - }, - { - "filename": "521s-f", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 7, - "w": 18, - "h": 21 - }, - "frame": { - "x": 238, - "y": 347, - "w": 18, - "h": 21 - } - }, - { - "filename": "549", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 7, - "w": 17, - "h": 21 - }, - "frame": { - "x": 147, - "y": 413, - "w": 17, - "h": 21 - } - }, - { - "filename": "592", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 164, - "y": 409, - "w": 19, - "h": 20 - } - }, - { - "filename": "549s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 7, - "w": 17, - "h": 21 - }, - "frame": { - "x": 147, - "y": 434, - "w": 17, - "h": 21 - } - }, - { - "filename": "592-f", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 164, - "y": 429, - "w": 19, - "h": 20 - } - }, - { - "filename": "627", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 7, - "w": 17, - "h": 21 - }, - "frame": { - "x": 147, - "y": 455, - "w": 17, - "h": 21 - } - }, - { - "filename": "592s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 164, - "y": 449, - "w": 19, - "h": 20 - } - }, - { - "filename": "606s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 6, - "w": 15, - "h": 22 - }, - "frame": { - "x": 148, - "y": 476, - "w": 15, - "h": 22 - } - }, - { - "filename": "583", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 7, - "w": 15, - "h": 21 - }, - "frame": { - "x": 148, - "y": 498, - "w": 15, - "h": 21 - } - }, - { - "filename": "498s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 148, - "y": 519, - "w": 18, - "h": 18 - } - }, - { - "filename": "592s-f", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 147, - "y": 537, - "w": 19, - "h": 20 - } - }, - { - "filename": "615", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 147, - "y": 557, - "w": 19, - "h": 20 - } - }, - { - "filename": "568s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 10, - "w": 21, - "h": 18 - }, - "frame": { - "x": 141, - "y": 577, - "w": 21, - "h": 18 - } - }, - { - "filename": "615s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 19, - "h": 20 - }, - "frame": { - "x": 141, - "y": 595, - "w": 19, - "h": 20 - } - }, - { - "filename": "583s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 7, - "w": 15, - "h": 21 - }, - "frame": { - "x": 139, - "y": 618, - "w": 15, - "h": 21 - } - }, - { - "filename": "610", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 8, - "w": 18, - "h": 20 - }, - "frame": { - "x": 146, - "y": 639, - "w": 18, - "h": 20 - } - }, - { - "filename": "594", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 6, - "w": 13, - "h": 22 - }, - "frame": { - "x": 161, - "y": 659, - "w": 13, - "h": 22 - } - }, - { - "filename": "594s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 6, - "w": 13, - "h": 22 - }, - "frame": { - "x": 183, - "y": 369, - "w": 13, - "h": 22 - } - }, - { - "filename": "627s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 7, - "w": 17, - "h": 21 - }, - "frame": { - "x": 183, - "y": 391, - "w": 17, - "h": 21 - } - }, - { - "filename": "610s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 8, - "w": 18, - "h": 20 - }, - "frame": { - "x": 183, - "y": 412, - "w": 18, - "h": 20 - } - }, - { - "filename": "619", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 18, - "h": 19 - }, - "frame": { - "x": 183, - "y": 432, - "w": 18, - "h": 19 - } - }, - { - "filename": "506", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 183, - "y": 451, - "w": 18, - "h": 18 - } - }, - { - "filename": "633", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 8, - "w": 16, - "h": 20 - }, - "frame": { - "x": 196, - "y": 368, - "w": 16, - "h": 20 - } - }, - { - "filename": "544s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 12, - "w": 22, - "h": 16 - }, - "frame": { - "x": 164, - "y": 469, - "w": 22, - "h": 16 - } - }, { "filename": "636", "rotated": false, @@ -5862,14 +5778,14 @@ "h": 19 }, "frame": { - "x": 163, - "y": 485, + "x": 207, + "y": 370, "w": 20, "h": 19 } }, { - "filename": "527s", + "filename": "610s", "rotated": false, "trimmed": true, "sourceSize": { @@ -5877,37 +5793,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, - "y": 13, - "w": 20, - "h": 15 + "x": 11, + "y": 8, + "w": 18, + "h": 20 }, "frame": { - "x": 163, - "y": 504, - "w": 20, - "h": 15 - } - }, - { - "filename": "619s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, + "x": 227, + "y": 370, "w": 18, - "h": 19 - }, - "frame": { - "x": 166, - "y": 519, - "w": 18, - "h": 19 + "h": 20 } }, { @@ -5925,12 +5820,180 @@ "h": 19 }, "frame": { - "x": 166, - "y": 538, + "x": 155, + "y": 391, "w": 20, "h": 19 } }, + { + "filename": "627", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 7, + "w": 17, + "h": 21 + }, + "frame": { + "x": 156, + "y": 410, + "w": 17, + "h": 21 + } + }, + { + "filename": "627s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 7, + "w": 17, + "h": 21 + }, + "frame": { + "x": 156, + "y": 431, + "w": 17, + "h": 21 + } + }, + { + "filename": "542s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 7, + "w": 14, + "h": 21 + }, + "frame": { + "x": 175, + "y": 391, + "w": 14, + "h": 21 + } + }, + { + "filename": "504s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 10, + "w": 20, + "h": 18 + }, + "frame": { + "x": 189, + "y": 389, + "w": 20, + "h": 18 + } + }, + { + "filename": "506", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 18, + "h": 18 + }, + "frame": { + "x": 209, + "y": 389, + "w": 18, + "h": 18 + } + }, + { + "filename": "619", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 18, + "h": 19 + }, + "frame": { + "x": 227, + "y": 390, + "w": 18, + "h": 19 + } + }, + { + "filename": "583", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 7, + "w": 15, + "h": 21 + }, + "frame": { + "x": 173, + "y": 412, + "w": 15, + "h": 21 + } + }, + { + "filename": "578", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 16, + "h": 19 + }, + "frame": { + "x": 173, + "y": 433, + "w": 16, + "h": 19 + } + }, { "filename": "529s", "rotated": false, @@ -5946,75 +6009,12 @@ "h": 17 }, "frame": { - "x": 166, - "y": 557, + "x": 157, + "y": 452, "w": 21, "h": 17 } }, - { - "filename": "501", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 16, - "h": 18 - }, - "frame": { - "x": 186, - "y": 469, - "w": 16, - "h": 18 - } - }, - { - "filename": "608", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 19, - "h": 18 - }, - "frame": { - "x": 183, - "y": 487, - "w": 19, - "h": 18 - } - }, - { - "filename": "546", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 14, - "w": 21, - "h": 14 - }, - "frame": { - "x": 183, - "y": 505, - "w": 21, - "h": 14 - } - }, { "filename": "555-zen", "rotated": false, @@ -6030,323 +6030,8 @@ "h": 17 }, "frame": { - "x": 184, - "y": 519, - "w": 20, - "h": 17 - } - }, - { - "filename": "506s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 186, - "y": 536, - "w": 18, - "h": 18 - } - }, - { - "filename": "633s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 8, - "w": 16, - "h": 20 - }, - "frame": { - "x": 187, - "y": 554, - "w": 16, - "h": 20 - } - }, - { - "filename": "578", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 16, - "h": 19 - }, - "frame": { - "x": 200, - "y": 388, - "w": 16, - "h": 19 - } - }, - { - "filename": "551", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 13, - "w": 22, - "h": 16 - }, - "frame": { - "x": 216, - "y": 349, - "w": 22, - "h": 16 - } - }, - { - "filename": "551s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 8, - "y": 13, - "w": 22, - "h": 16 - }, - "frame": { - "x": 212, - "y": 365, - "w": 22, - "h": 16 - } - }, - { - "filename": "562", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 12, - "w": 22, - "h": 16 - }, - "frame": { - "x": 234, - "y": 368, - "w": 22, - "h": 16 - } - }, - { - "filename": "536", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 216, - "y": 381, - "w": 18, - "h": 18 - } - }, - { - "filename": "562s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 12, - "w": 22, - "h": 16 - }, - "frame": { - "x": 234, - "y": 384, - "w": 22, - "h": 16 - } - }, - { - "filename": "578s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 16, - "h": 19 - }, - "frame": { - "x": 201, - "y": 407, - "w": 16, - "h": 19 - } - }, - { - "filename": "580", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 16, - "h": 19 - }, - "frame": { - "x": 201, - "y": 426, - "w": 16, - "h": 19 - } - }, - { - "filename": "580s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 9, - "w": 16, - "h": 19 - }, - "frame": { - "x": 201, - "y": 445, - "w": 16, - "h": 19 - } - }, - { - "filename": "501s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 16, - "h": 18 - }, - "frame": { - "x": 202, - "y": 464, - "w": 16, - "h": 18 - } - }, - { - "filename": "536s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 18, - "h": 18 - }, - "frame": { - "x": 202, - "y": 482, - "w": 18, - "h": 18 - } - }, - { - "filename": "608s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 10, - "w": 19, - "h": 18 - }, - "frame": { - "x": 204, - "y": 500, - "w": 19, - "h": 18 - } - }, - { - "filename": "555s-zen", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 11, - "w": 20, - "h": 17 - }, - "frame": { - "x": 204, - "y": 518, + "x": 157, + "y": 469, "w": 20, "h": 17 } @@ -6366,12 +6051,222 @@ "h": 16 }, "frame": { - "x": 204, - "y": 535, + "x": 157, + "y": 486, "w": 20, "h": 16 } }, + { + "filename": "608s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 19, + "h": 18 + }, + "frame": { + "x": 158, + "y": 502, + "w": 19, + "h": 18 + } + }, + { + "filename": "619s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 18, + "h": 19 + }, + "frame": { + "x": 158, + "y": 520, + "w": 18, + "h": 19 + } + }, + { + "filename": "583s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 7, + "w": 15, + "h": 21 + }, + "frame": { + "x": 161, + "y": 539, + "w": 15, + "h": 21 + } + }, + { + "filename": "501", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 10, + "w": 16, + "h": 18 + }, + "frame": { + "x": 178, + "y": 452, + "w": 16, + "h": 18 + } + }, + { + "filename": "633", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 16, + "h": 20 + }, + "frame": { + "x": 177, + "y": 470, + "w": 16, + "h": 20 + } + }, + { + "filename": "633s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 8, + "w": 16, + "h": 20 + }, + "frame": { + "x": 177, + "y": 490, + "w": 16, + "h": 20 + } + }, + { + "filename": "501s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 10, + "w": 16, + "h": 18 + }, + "frame": { + "x": 177, + "y": 510, + "w": 16, + "h": 18 + } + }, + { + "filename": "506s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 10, + "w": 18, + "h": 18 + }, + "frame": { + "x": 176, + "y": 528, + "w": 18, + "h": 18 + } + }, + { + "filename": "527s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 13, + "w": 20, + "h": 15 + }, + "frame": { + "x": 176, + "y": 546, + "w": 20, + "h": 15 + } + }, + { + "filename": "566", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 13, + "w": 21, + "h": 15 + }, + "frame": { + "x": 189, + "y": 407, + "w": 21, + "h": 15 + } + }, { "filename": "554", "rotated": false, @@ -6387,35 +6282,14 @@ "h": 15 }, "frame": { - "x": 217, - "y": 399, + "x": 210, + "y": 407, "w": 17, "h": 15 } }, { - "filename": "599", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 9, - "y": 11, - "w": 22, - "h": 16 - }, - "frame": { - "x": 234, - "y": 400, - "w": 22, - "h": 16 - } - }, - { - "filename": "554s", + "filename": "536", "rotated": false, "trimmed": true, "sourceSize": { @@ -6424,19 +6298,19 @@ }, "spriteSourceSize": { "x": 11, - "y": 13, - "w": 17, - "h": 15 + "y": 10, + "w": 18, + "h": 18 }, "frame": { - "x": 217, - "y": 414, - "w": 17, - "h": 15 + "x": 227, + "y": 409, + "w": 18, + "h": 18 } }, { - "filename": "599s", + "filename": "555s-zen", "rotated": false, "trimmed": true, "sourceSize": { @@ -6444,20 +6318,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, + "x": 10, "y": 11, - "w": 22, - "h": 16 + "w": 20, + "h": 17 }, "frame": { - "x": 234, - "y": 416, - "w": 22, - "h": 16 + "x": 189, + "y": 422, + "w": 20, + "h": 17 } }, { - "filename": "570", + "filename": "536s", "rotated": false, "trimmed": true, "sourceSize": { @@ -6465,16 +6339,16 @@ "h": 30 }, "spriteSourceSize": { - "x": 12, - "y": 11, - "w": 16, - "h": 17 + "x": 11, + "y": 10, + "w": 18, + "h": 18 }, "frame": { - "x": 217, - "y": 429, - "w": 16, - "h": 17 + "x": 209, + "y": 422, + "w": 18, + "h": 18 } }, { @@ -6492,14 +6366,14 @@ "h": 18 }, "frame": { - "x": 217, - "y": 446, + "x": 227, + "y": 427, "w": 18, "h": 18 } }, { - "filename": "595", + "filename": "535", "rotated": false, "trimmed": true, "sourceSize": { @@ -6507,20 +6381,20 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, - "y": 12, - "w": 21, - "h": 16 + "x": 13, + "y": 15, + "w": 14, + "h": 13 }, "frame": { - "x": 235, - "y": 432, - "w": 21, - "h": 16 + "x": 189, + "y": 439, + "w": 14, + "h": 13 } }, { - "filename": "595s", + "filename": "548", "rotated": false, "trimmed": true, "sourceSize": { @@ -6528,15 +6402,78 @@ "h": 30 }, "spriteSourceSize": { - "x": 9, + "x": 14, + "y": 10, + "w": 12, + "h": 18 + }, + "frame": { + "x": 194, + "y": 452, + "w": 12, + "h": 18 + } + }, + { + "filename": "648-aria", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 7, + "w": 14, + "h": 21 + }, + "frame": { + "x": 193, + "y": 470, + "w": 14, + "h": 21 + } + }, + { + "filename": "648s-aria", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 7, + "w": 14, + "h": 21 + }, + "frame": { + "x": 193, + "y": 491, + "w": 14, + "h": 21 + } + }, + { + "filename": "519", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, "y": 12, - "w": 21, + "w": 16, "h": 16 }, "frame": { - "x": 235, - "y": 448, - "w": 21, + "x": 193, + "y": 512, + "w": 16, "h": 16 } }, @@ -6555,14 +6492,14 @@ "h": 18 }, "frame": { - "x": 218, - "y": 464, + "x": 194, + "y": 528, "w": 18, "h": 18 } }, { - "filename": "541s", + "filename": "519s", "rotated": false, "trimmed": true, "sourceSize": { @@ -6570,15 +6507,57 @@ "h": 30 }, "spriteSourceSize": { - "x": 10, + "x": 12, "y": 12, - "w": 20, + "w": 16, "h": 16 }, "frame": { - "x": 236, - "y": 464, - "w": 20, + "x": 196, + "y": 546, + "w": 16, + "h": 16 + } + }, + { + "filename": "595s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 9, + "y": 12, + "w": 21, + "h": 16 + }, + "frame": { + "x": 206, + "y": 440, + "w": 21, + "h": 16 + } + }, + { + "filename": "550-blue-striped", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 12, + "w": 18, + "h": 16 + }, + "frame": { + "x": 227, + "y": 445, + "w": 18, "h": 16 } }, @@ -6597,96 +6576,12 @@ "h": 14 }, "frame": { - "x": 236, - "y": 480, + "x": 206, + "y": 456, "w": 20, "h": 14 } }, - { - "filename": "570s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 11, - "w": 16, - "h": 17 - }, - "frame": { - "x": 220, - "y": 482, - "w": 16, - "h": 17 - } - }, - { - "filename": "618s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 14, - "w": 20, - "h": 14 - }, - "frame": { - "x": 236, - "y": 494, - "w": 20, - "h": 14 - } - }, - { - "filename": "605", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 13, - "h": 19 - }, - "frame": { - "x": 223, - "y": 499, - "w": 13, - "h": 19 - } - }, - { - "filename": "605s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 9, - "w": 13, - "h": 19 - }, - "frame": { - "x": 224, - "y": 518, - "w": 13, - "h": 19 - } - }, { "filename": "557", "rotated": false, @@ -6702,8 +6597,8 @@ "h": 17 }, "frame": { - "x": 237, - "y": 508, + "x": 226, + "y": 461, "w": 19, "h": 17 } @@ -6723,56 +6618,14 @@ "h": 17 }, "frame": { - "x": 237, - "y": 525, + "x": 207, + "y": 470, "w": 19, "h": 17 } }, { - "filename": "607", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 13, - "h": 18 - }, - "frame": { - "x": 224, - "y": 537, - "w": 13, - "h": 18 - } - }, - { - "filename": "543s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 14, - "w": 18, - "h": 14 - }, - "frame": { - "x": 237, - "y": 542, - "w": 18, - "h": 14 - } - }, - { - "filename": "546s", + "filename": "541s", "rotated": false, "trimmed": true, "sourceSize": { @@ -6781,98 +6634,14 @@ }, "spriteSourceSize": { "x": 10, - "y": 14, - "w": 21, - "h": 14 - }, - "frame": { - "x": 166, - "y": 574, - "w": 21, - "h": 14 - } - }, - { - "filename": "519", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, "y": 12, - "w": 16, + "w": 20, "h": 16 }, "frame": { - "x": 187, - "y": 574, - "w": 16, - "h": 16 - } - }, - { - "filename": "566", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 13, - "w": 21, - "h": 15 - }, - "frame": { - "x": 162, - "y": 588, - "w": 21, - "h": 15 - } - }, - { - "filename": "566s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 13, - "w": 21, - "h": 15 - }, - "frame": { - "x": 160, - "y": 603, - "w": 21, - "h": 15 - } - }, - { - "filename": "550-blue-striped", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 11, - "y": 12, - "w": 18, - "h": 16 - }, - "frame": { - "x": 154, - "y": 618, - "w": 18, + "x": 207, + "y": 487, + "w": 20, "h": 16 } }, @@ -6891,8 +6660,8 @@ "h": 16 }, "frame": { - "x": 183, - "y": 590, + "x": 227, + "y": 478, "w": 18, "h": 16 } @@ -6912,33 +6681,12 @@ "h": 16 }, "frame": { - "x": 181, - "y": 606, + "x": 227, + "y": 494, "w": 18, "h": 16 } }, - { - "filename": "548s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 10, - "w": 12, - "h": 18 - }, - "frame": { - "x": 164, - "y": 634, - "w": 12, - "h": 18 - } - }, { "filename": "550s-blue-striped", "rotated": false, @@ -6954,8 +6702,8 @@ "h": 16 }, "frame": { - "x": 204, - "y": 551, + "x": 209, + "y": 503, "w": 18, "h": 16 } @@ -6975,8 +6723,8 @@ "h": 16 }, "frame": { - "x": 203, - "y": 567, + "x": 227, + "y": 510, "w": 18, "h": 16 } @@ -6996,8 +6744,8 @@ "h": 17 }, "frame": { - "x": 222, - "y": 555, + "x": 212, + "y": 519, "w": 15, "h": 17 } @@ -7017,75 +6765,12 @@ "h": 16 }, "frame": { - "x": 237, - "y": 556, + "x": 227, + "y": 526, "w": 18, "h": 16 } }, - { - "filename": "616", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 13, - "w": 18, - "h": 15 - }, - "frame": { - "x": 221, - "y": 572, - "w": 18, - "h": 15 - } - }, - { - "filename": "519s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 12, - "y": 12, - "w": 16, - "h": 16 - }, - "frame": { - "x": 239, - "y": 572, - "w": 16, - "h": 16 - } - }, - { - "filename": "616s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 10, - "y": 13, - "w": 18, - "h": 15 - }, - "frame": { - "x": 203, - "y": 583, - "w": 18, - "h": 15 - } - }, { "filename": "540s", "rotated": false, @@ -7101,12 +6786,138 @@ "h": 17 }, "frame": { - "x": 221, - "y": 587, + "x": 212, + "y": 536, "w": 15, "h": 17 } }, + { + "filename": "616", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 13, + "w": 18, + "h": 15 + }, + "frame": { + "x": 227, + "y": 542, + "w": 18, + "h": 15 + } + }, + { + "filename": "517", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 14, + "w": 15, + "h": 14 + }, + "frame": { + "x": 212, + "y": 553, + "w": 15, + "h": 14 + } + }, + { + "filename": "616s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 13, + "w": 18, + "h": 15 + }, + "frame": { + "x": 227, + "y": 557, + "w": 18, + "h": 15 + } + }, + { + "filename": "578s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 16, + "h": 19 + }, + "frame": { + "x": 165, + "y": 620, + "w": 16, + "h": 19 + } + }, + { + "filename": "624", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 8, + "w": 14, + "h": 20 + }, + "frame": { + "x": 169, + "y": 639, + "w": 14, + "h": 20 + } + }, + { + "filename": "574", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 10, + "w": 14, + "h": 18 + }, + "frame": { + "x": 175, + "y": 659, + "w": 14, + "h": 18 + } + }, { "filename": "559", "rotated": false, @@ -7122,12 +6933,327 @@ "h": 16 }, "frame": { - "x": 236, - "y": 588, + "x": 167, + "y": 604, "w": 15, "h": 16 } }, + { + "filename": "566s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 13, + "w": 21, + "h": 15 + }, + "frame": { + "x": 168, + "y": 561, + "w": 21, + "h": 15 + } + }, + { + "filename": "580", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 16, + "h": 19 + }, + "frame": { + "x": 168, + "y": 576, + "w": 16, + "h": 19 + } + }, + { + "filename": "618s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 10, + "y": 14, + "w": 20, + "h": 14 + }, + "frame": { + "x": 189, + "y": 562, + "w": 20, + "h": 14 + } + }, + { + "filename": "580s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 9, + "w": 16, + "h": 19 + }, + "frame": { + "x": 184, + "y": 576, + "w": 16, + "h": 19 + } + }, + { + "filename": "543", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 14, + "w": 18, + "h": 14 + }, + "frame": { + "x": 209, + "y": 567, + "w": 18, + "h": 14 + } + }, + { + "filename": "543s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 14, + "w": 18, + "h": 14 + }, + "frame": { + "x": 227, + "y": 572, + "w": 18, + "h": 14 + } + }, + { + "filename": "624s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 8, + "w": 14, + "h": 20 + }, + "frame": { + "x": 182, + "y": 595, + "w": 14, + "h": 20 + } + }, + { + "filename": "548s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 10, + "w": 12, + "h": 18 + }, + "frame": { + "x": 196, + "y": 595, + "w": 12, + "h": 18 + } + }, + { + "filename": "517s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 14, + "w": 15, + "h": 14 + }, + "frame": { + "x": 200, + "y": 581, + "w": 15, + "h": 14 + } + }, + { + "filename": "582", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 12, + "w": 12, + "h": 16 + }, + "frame": { + "x": 215, + "y": 581, + "w": 12, + "h": 16 + } + }, + { + "filename": "554s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 11, + "y": 13, + "w": 17, + "h": 15 + }, + "frame": { + "x": 227, + "y": 586, + "w": 17, + "h": 15 + } + }, + { + "filename": "570", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 16, + "h": 17 + }, + "frame": { + "x": 208, + "y": 597, + "w": 16, + "h": 17 + } + }, + { + "filename": "570s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 12, + "y": 11, + "w": 16, + "h": 17 + }, + "frame": { + "x": 224, + "y": 601, + "w": 16, + "h": 17 + } + }, + { + "filename": "535s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 15, + "w": 14, + "h": 13 + }, + "frame": { + "x": 182, + "y": 615, + "w": 14, + "h": 13 + } + }, + { + "filename": "582s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 12, + "w": 12, + "h": 16 + }, + "frame": { + "x": 196, + "y": 613, + "w": 12, + "h": 16 + } + }, { "filename": "559s", "rotated": false, @@ -7143,8 +7269,8 @@ "h": 16 }, "frame": { - "x": 201, - "y": 598, + "x": 208, + "y": 614, "w": 15, "h": 16 } @@ -7164,73 +7290,31 @@ "h": 14 }, "frame": { - "x": 199, - "y": 614, - "w": 15, - "h": 14 - } - }, - { - "filename": "577s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 14, - "w": 15, - "h": 14 - }, - "frame": { - "x": 216, - "y": 604, - "w": 15, - "h": 14 - } - }, - { - "filename": "597", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 12, - "w": 15, - "h": 16 - }, - "frame": { - "x": 231, - "y": 604, - "w": 15, - "h": 16 - } - }, - { - "filename": "597s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 12, - "w": 15, - "h": 16 - }, - "frame": { - "x": 214, + "x": 223, "y": 618, "w": 15, - "h": 16 + "h": 14 + } + }, + { + "filename": "602", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 17, + "w": 14, + "h": 11 + }, + "frame": { + "x": 181, + "y": 628, + "w": 14, + "h": 11 } }, { @@ -7248,12 +7332,33 @@ "h": 18 }, "frame": { - "x": 229, - "y": 620, + "x": 183, + "y": 639, "w": 14, "h": 18 } }, + { + "filename": "607", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 10, + "w": 13, + "h": 18 + }, + "frame": { + "x": 189, + "y": 657, + "w": 13, + "h": 18 + } + }, { "filename": "607s", "rotated": false, @@ -7269,12 +7374,96 @@ "h": 18 }, "frame": { - "x": 243, - "y": 620, + "x": 191, + "y": 675, "w": 13, "h": 18 } }, + { + "filename": "524", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 15, + "y": 11, + "w": 11, + "h": 17 + }, + "frame": { + "x": 197, + "y": 629, + "w": 11, + "h": 17 + } + }, + { + "filename": "597", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 12, + "w": 15, + "h": 16 + }, + "frame": { + "x": 208, + "y": 630, + "w": 15, + "h": 16 + } + }, + { + "filename": "602s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 17, + "w": 14, + "h": 11 + }, + "frame": { + "x": 197, + "y": 646, + "w": 14, + "h": 11 + } + }, + { + "filename": "577s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 14, + "w": 15, + "h": 14 + }, + "frame": { + "x": 223, + "y": 632, + "w": 15, + "h": 14 + } + }, { "filename": "613", "rotated": false, @@ -7290,8 +7479,8 @@ "h": 18 }, "frame": { - "x": 176, - "y": 634, + "x": 202, + "y": 657, "w": 14, "h": 18 } @@ -7311,180 +7500,12 @@ "h": 18 }, "frame": { - "x": 174, - "y": 652, + "x": 204, + "y": 675, "w": 14, "h": 18 } }, - { - "filename": "602", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 17, - "w": 14, - "h": 11 - }, - "frame": { - "x": 174, - "y": 670, - "w": 14, - "h": 11 - } - }, - { - "filename": "524", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 15, - "y": 11, - "w": 11, - "h": 17 - }, - "frame": { - "x": 188, - "y": 652, - "w": 11, - "h": 17 - } - }, - { - "filename": "602s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 17, - "w": 14, - "h": 11 - }, - "frame": { - "x": 188, - "y": 669, - "w": 14, - "h": 11 - } - }, - { - "filename": "582", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 12, - "w": 12, - "h": 16 - }, - "frame": { - "x": 202, - "y": 628, - "w": 12, - "h": 16 - } - }, - { - "filename": "588", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 11, - "w": 12, - "h": 17 - }, - "frame": { - "x": 190, - "y": 628, - "w": 12, - "h": 17 - } - }, - { - "filename": "535", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 15, - "w": 14, - "h": 13 - }, - "frame": { - "x": 214, - "y": 634, - "w": 14, - "h": 13 - } - }, - { - "filename": "535s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 15, - "w": 14, - "h": 13 - }, - "frame": { - "x": 228, - "y": 638, - "w": 14, - "h": 13 - } - }, - { - "filename": "590", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 13, - "y": 11, - "w": 14, - "h": 17 - }, - "frame": { - "x": 242, - "y": 638, - "w": 14, - "h": 17 - } - }, { "filename": "524s", "rotated": false, @@ -7500,12 +7521,75 @@ "h": 17 }, "frame": { - "x": 199, - "y": 651, + "x": 207, + "y": 693, "w": 11, "h": 17 } }, + { + "filename": "590", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 11, + "w": 14, + "h": 17 + }, + "frame": { + "x": 216, + "y": 646, + "w": 14, + "h": 17 + } + }, + { + "filename": "597s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 13, + "y": 12, + "w": 15, + "h": 16 + }, + "frame": { + "x": 230, + "y": 646, + "w": 15, + "h": 16 + } + }, + { + "filename": "588s", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 14, + "y": 11, + "w": 12, + "h": 17 + }, + "frame": { + "x": 218, + "y": 663, + "w": 12, + "h": 17 + } + }, { "filename": "590s", "rotated": false, @@ -7521,53 +7605,11 @@ "h": 17 }, "frame": { - "x": 210, - "y": 647, + "x": 230, + "y": 662, "w": 14, "h": 17 } - }, - { - "filename": "588s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 11, - "w": 12, - "h": 17 - }, - "frame": { - "x": 210, - "y": 664, - "w": 12, - "h": 17 - } - }, - { - "filename": "582s", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 14, - "y": 12, - "w": 12, - "h": 16 - }, - "frame": { - "x": 224, - "y": 651, - "w": 12, - "h": 16 - } } ] } @@ -7575,6 +7617,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:4b1ede56fa38672ee5e2e5de6f39ff48:58f3f9bd48fa9481c3cd7a0cdebb3e00:20fe181c46701b46ac8f250d40b1bbc1$" + "smartupdate": "$TexturePacker:SmartUpdate:8a278d997d5726b88e2aaa301eb4e4e8:c33243967aadc5b2250e95b079396b1d:20fe181c46701b46ac8f250d40b1bbc1$" } } diff --git a/public/images/pokemon_icons_5.png b/public/images/pokemon_icons_5.png index e0a4ebef303172c0bf48286b3fb3f8d4d14fbb6b..264120c749995f91cc0105927f4684d6e3a82c94 100644 GIT binary patch literal 64514 zcmV))K#ISKP)00PMf0{{R3TS%3t00093P)t-sOlfh1 zbaTR0^j`jB&J=8sa>;s3cgHvQI5 zamiTD#i^QZNd2%ego17C=KoKBL;R+`ezEfEzl2s|hm)bDsivq@XSlV=%3F>9O}?+l zqH@Ecf%br>{NX2Mm|}KsYG+C{;96K%eTRily3?`#J2h<3G&1|P^xnK)_;G2QfmlV2 z-ir?z@4c>OLc_RPMg5@V^W00{>@8Dtm6J^PN#O+GoDr8j95{Mb~}^a zXqQzmJVaUF{QnW8ZcTFE*vyHaFCeg{o{z~>Mr)5a!&{y6On;UA(oI#?`2XUe0=>ZM zjAFi9S5Ucm()mq5$4hkmbU^;Lo20G%(RWC;@u+W@oVtthn!FfdqrzdWb8m8)FqT%l zMo-~iZ&XE#J)`18K{||Wwy}0P-Ap;i=39Ni)o$X!%Z(wTYVf&PZO%fYi+cK6iOt2+ z=-_y@Muf2@p_|8)S6HY0Uw3A4vJSx3H%){9qM(Z;fXgp1F@PvFw!NdNrOy#+n`30t z?e;{%S~=LW*TrfH$@Ch}^_p?EK!$1)SLcI^;E%28*=k! z%;lbg2F%VwSZC{}pom0T7NoJDV3u-)r(1HWVf^$Ec2KQ`X#$%V#WT~Si5gASDTLPV znQ*<*gmUR}^4F}Q|4Oeya9Emm(P%d6%o=4yAwE64-=~^82 z56Z=notz$joU%d}Q07&PKdF<@r|zz->}92%l?qr{g^+NXl#%SkP-q{Un1Ri?l&p#L zcvUu@AO5h!|EIL)r4v67$%P@}6f?D>JH09^Ep)G5@7&!hD^_lHd1s!cwJdK&UVpOG zT)lQ}HHE^q&_tgdiBnTmR%)&%{|!Aa@$(2Z1kEX5*!VBXFlohZJp|jv@4G7#vGq*~ z^}Ok8j;-PR6t!AHRQn{cz||S}tf7a}!>Y%W9xWpi3gc?p0ka)V;1$3pA*K-7CYF zLS=~0av^h9h?^;XdJ#^4%x%nl+Je)dPUEwAp*0h&JzNnAnt5BZ5b>ESU>|s>8WP7Ph+a4SR8� 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 %KPM#^zPkA>vu;7 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 Hu0mjfza-Yf literal 65335 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 z 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%0DbBh8(kOCz>IPy z>sy5X?^^%I2phM)q2qx@KAJ5I0#Mzr#hp!RuD3Uu{|dFUDkhS#00001bW%=J06^y0 zW&i*H32;bRa{vGi!~g&e!~vBn4jTXfAOJ~3K~#9!oSh3;Rb|@u*$~_dP!x}#qH+vH z1pyI|z*D4vW~LWNgZcSN7>1Ohj@p~1dCJhHnmm-IR-VwYtjsPuOlf&_)mu54sbe!^ zb@`doVVdi!cbb~-{r>m;ti!X`UK^e7Veid$vE9GtK0fza>sikV3v;zmqeg{Ytr3OV zPW&hJ>htHTeC??I{ik0IPKM$C-6K1r5vkXp?$T7c3i==Y^YTWS8VHF7J6JRt$!y^Z z-KCGIQ|YSgygU;r|L$>0*W??}A&lm=q<9Gi& zUpS+UN|v2$asZ9M&d(p2-#I_ug3BkQThpgc26{T)4OZI*4<1Z9`N|cBXAB#*eEG19 z{=@pu&l~0AWn{z~m0(vcG$l95fqbyz5K*& z@KHgoO)nC~*T+}J$1^^jO!idqZU`M0H#L7M=t}(~M~+nR$uSJ)r-gRO4R%IG#;EzD z)}3EBY}j|Jd0jwvMmS7k24$IDA~ojlVirl z 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
cxQ2V_+0(MF?H}V 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 diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index eb73c2f036b..1a16cdd41b9 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -312,13 +312,7 @@ export abstract class PokemonSpeciesForm { getIconAtlasKey(formIndex?: integer, shiny?: boolean, variant?: integer): string { const variantDataIndex = this.getVariantDataIndex(formIndex); const isVariant = shiny && variantData[variantDataIndex] && variantData[variantDataIndex][variant]; - const species = getPokemonSpecies(this.speciesId); - /** - * Currently, Victini's icon sprite is located in Gen 4, so we will temporarily bypass this issue with the following code. - * In the future, when Victini's icon sprite is properly moved to Gen 5, the temporary code below should be removed. - */ - const generation = species.speciesId === Species.VICTINI ? 4 : this.generation; - return `pokemon_icons_${generation}${isVariant ? "v" : ""}`; + return `pokemon_icons_${this.generation}${isVariant ? "v" : ""}`; } getIconId(female: boolean, formIndex?: integer, shiny?: boolean, variant?: integer): string { @@ -2952,8 +2946,8 @@ export const speciesStarters = { [Species.DARKRAI]: 6, [Species.SHAYMIN]: 6, [Species.ARCEUS]: 9, - [Species.VICTINI]: 7, + [Species.VICTINI]: 7, [Species.SNIVY]: 3, [Species.TEPIG]: 3, [Species.OSHAWOTT]: 3, From 7048fbe06f370f09830807bfb5b06a4e6d1d9b48 Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+Tempo-anon@users.noreply.github.com> Date: Sat, 3 Aug 2024 16:34:05 -0400 Subject: [PATCH 25/33] [Feature] Implement generic evil team admins (#3234) * [Hotfix] Fix interactions of some moves not changing types (#3183) * [Hotfix] Fix wild spawns not having their HA (#3190) * Add evil admin placeholder images * Add admin names to locale files * Add evil team admin dialogue * Added new sprites * Make simple admin trainer pools * Add Korean localization * Increase evil boss money multiplier from 2.25 to 2.5 --------- Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- public/images/trainer/aqua_admin.json | 41 + public/images/trainer/aqua_admin.png | Bin 0 -> 1032 bytes public/images/trainer/aqua_admin_f.json | 41 + public/images/trainer/aqua_admin_f.png | Bin 0 -> 865 bytes public/images/trainer/flare_admin_f.png | Bin 0 -> 671 bytes public/images/trainer/flare_admin_m copy.json | 41 + public/images/trainer/flare_admin_m.json | 41 + public/images/trainer/flare_admin_m.png | Bin 0 -> 789 bytes public/images/trainer/galactic_admin_f.json | 41 + public/images/trainer/galactic_admin_f.png | Bin 0 -> 621 bytes public/images/trainer/galactic_admin_m.json | 41 + public/images/trainer/galactic_admin_m.png | Bin 0 -> 689 bytes public/images/trainer/magma_admin_f.json | 41 + public/images/trainer/magma_admin_f.png | Bin 0 -> 847 bytes public/images/trainer/magma_admin_m.json | 41 + public/images/trainer/magma_admin_m.png | Bin 0 -> 845 bytes public/images/trainer/plasma_sage.json | 2120 +++++++++++++++++ public/images/trainer/plasma_sage.png | Bin 0 -> 5075 bytes public/images/trainer/rocket_admin_f.json | 41 + public/images/trainer/rocket_admin_f.png | Bin 0 -> 736 bytes public/images/trainer/rocket_admin_m.json | 41 + public/images/trainer/rocket_admin_m.png | Bin 0 -> 645 bytes src/battle.ts | 7 +- src/data/dialogue.ts | 84 + src/data/trainer-config.ts | 38 +- src/enums/trainer-type.ts | 6 + src/field/trainer.ts | 4 +- src/locales/de/dialogue.ts | 72 + src/locales/de/trainers.ts | 11 + src/locales/en/dialogue.ts | 72 + src/locales/en/trainers.ts | 11 + src/locales/es/trainers.ts | 10 + src/locales/fr/dialogue.ts | 72 + src/locales/fr/trainers.ts | 11 + src/locales/it/dialogue.ts | 72 + src/locales/it/trainers.ts | 12 +- src/locales/ko/dialogue.ts | 72 + src/locales/ko/trainers.ts | 11 + src/locales/pt_BR/trainers.ts | 11 + src/locales/zh_CN/dialogue.ts | 72 + src/locales/zh_CN/trainers.ts | 11 + src/locales/zh_TW/dialogue.ts | 72 + src/locales/zh_TW/trainers.ts | 11 + 43 files changed, 3265 insertions(+), 7 deletions(-) create mode 100644 public/images/trainer/aqua_admin.json create mode 100644 public/images/trainer/aqua_admin.png create mode 100644 public/images/trainer/aqua_admin_f.json create mode 100644 public/images/trainer/aqua_admin_f.png create mode 100644 public/images/trainer/flare_admin_f.png create mode 100644 public/images/trainer/flare_admin_m copy.json create mode 100644 public/images/trainer/flare_admin_m.json create mode 100644 public/images/trainer/flare_admin_m.png create mode 100644 public/images/trainer/galactic_admin_f.json create mode 100644 public/images/trainer/galactic_admin_f.png create mode 100644 public/images/trainer/galactic_admin_m.json create mode 100644 public/images/trainer/galactic_admin_m.png create mode 100644 public/images/trainer/magma_admin_f.json create mode 100644 public/images/trainer/magma_admin_f.png create mode 100644 public/images/trainer/magma_admin_m.json create mode 100644 public/images/trainer/magma_admin_m.png create mode 100644 public/images/trainer/plasma_sage.json create mode 100644 public/images/trainer/plasma_sage.png create mode 100644 public/images/trainer/rocket_admin_f.json create mode 100644 public/images/trainer/rocket_admin_f.png create mode 100644 public/images/trainer/rocket_admin_m.json create mode 100644 public/images/trainer/rocket_admin_m.png diff --git a/public/images/trainer/aqua_admin.json b/public/images/trainer/aqua_admin.json new file mode 100644 index 00000000000..507fe556ef1 --- /dev/null +++ b/public/images/trainer/aqua_admin.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "aqua_admin.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} \ No newline at end of file diff --git a/public/images/trainer/aqua_admin.png b/public/images/trainer/aqua_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..a4f7893e5652254377239e8c398650273aa64773 GIT binary patch literal 1032 zcmV+j1o!)iP)K~#9! ztkY2n13?G`(Xq9%YUcju%`PGTf$<%nXav_E?6Jm}{2`m_`HxNZB$sR?7`jEkRFHTu z7=#D_Nw0P6l1Kpg%tVzdX>bvG4=mheO}p=k5Oy9U9l)xX2^v81aJ8*tmO#=?_{c+B zWp`&aL%(PBl@Yeqbvr#`*5134a5KwHE?Y+g0l0rks}rR+VHgO&+189b%qUqmH%aEDW!F2G9%DDh22~Tv*%7AR$$1Qr`=+%dHw$K-f}Mdr zHM$--OI0L4dHuwShD^!8=wJjOh#*B!@k9VlPDv~E}|55 z2K&V$t>89@EF|Gza&XC?``obaXOE~CgivyZ&^)A1;QjvRelKM5k?COl2uUBqH;|y> zhv(6P5iWXA^8_+g6a{fXO8w$>{y&!Qmy&~f7t~fvct!ULnBoLJ?D)z;3V_9{hgMM( zwAXbp#TXx&uG4qsX`tER70ceZJW)zIv$Ump271h^gMh$u`4GP>CB;iyAjG$aUNTPM zlj=S8vuMd+@Olv5-`;MY>}$CTnH#pzaU z>h*RdPKxFzsc(gz#NiyMF{Ml4$ZaKoc#yL<)W0VFUbIGJAiq>#jgbNd=tq|HWXGoMp=DKqz^Y%w8RQ zk25!pBQ}4{vS-V9y~pwO*1QZnA7GpUGI@ zs3RvV`1ts+fLLu;nacnG00DGTPE!Ct=GbNc00PZPL_t(|UhUP{j^jEE1W*@AEnc$U z`~SZ>B}R4C|Sp717&KtU-^*04^56x$EI{Y6tNE3BhRx30;rJR*_T{p94d|4M&R2 zpkD|gFQB13)6@*YF9-=C0N6wkGZ7t`>-BVM1WAfgbQAMD!^zR~e}Xu%<*CVIL=o;u zG$x9qJqvA^I0^ndt%kX^iB#$zTch#oMi5_GQy*?8qHkAX72{dZITDY$v-lCAr(TYLqh zGCuq(h7#eyn}Ep rdG%J&gZ;UrGv!Msx38|{Oep3|C=+%=6<#*shF{MB0004W zQchCb(7St+3f7g{ZE;)1mpmtGLi@X1NGyF z=1@>~^wCGlk&i3$o{5CGy=^YAEV#{obF7GYz8yb-8w?B1bD5^;p+s81B5rRghBITn zps7Dh95Ii;EWH9#EW>Ujj^3H)k|9CW!@?ZcN1E$9;uOF}s%Q+931QzsKum_d} z0#1U^1pB_H#|uq-XVzpzocA)I*^&b_#Vg{~II)hDnTU ztyZ=mJs=tsE0t`+nfr$VR@7R7&I2k;045{YPs$FW^MP=I65kI*X9Rl}sBnmW5SiqsGK0o;IX39^MiN~FuWkG zAVBYi!APeF3S`0v%5&ax5KNLr5y8x)`SW1DXeI9-^amIu8{UH+4K@G(002ovPDHLk FV1hG~8Cn1U literal 0 HcmV?d00001 diff --git a/public/images/trainer/flare_admin_m copy.json b/public/images/trainer/flare_admin_m copy.json new file mode 100644 index 00000000000..1e39a3fcb03 --- /dev/null +++ b/public/images/trainer/flare_admin_m copy.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "flare_admin_f.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} \ No newline at end of file diff --git a/public/images/trainer/flare_admin_m.json b/public/images/trainer/flare_admin_m.json new file mode 100644 index 00000000000..4228fac6af0 --- /dev/null +++ b/public/images/trainer/flare_admin_m.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "flare_admin_m.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:c30bf82452209a923f4becf13d275a9a:a6355b09f92c9c0388d0b919010f587f:0638dbf213f8a974eb5af76eb1e5ddeb$" + } +} diff --git a/public/images/trainer/flare_admin_m.png b/public/images/trainer/flare_admin_m.png new file mode 100644 index 0000000000000000000000000000000000000000..f431c20a479fccd415a489ed943d10a2c9a3f4a1 GIT binary patch literal 789 zcmV+w1M2*VP)Ax-SaR2}S0d!JMQvg8b*k%9#0*XmQK~#8Nt=3tN<1h>aP*-u0Y$rX-{SP~)g}9Xt zl7W_jAwc?gphlFjMN(?7J8v#RO1u{OjZje%g=08Am z6-je+rGXw zz^K4&Yj{+v=1am4@awi2al18wI6(lYdx#T+@zx4vvEW{3vVGk;!8b!jcpV_#gRoW* zs=C)=4I1nLq6O6a4vcWw3fSL7_ZM(zDlQ_G$nYA$TJ-QJ-VLINb$J0^A{U$@n!vxP zyaI|};89+~P_X7zGhVz93%E4CkCE35)E=b7dmmqT)R&64)FPIiz&+~w2_|cMEI5=76*dWZBLD-GgAY4ZU9sErnJSF)CC8ab7TB+$02P+gau^O}ykQSWPVC=?0iY3$pH{fehWzDmCQf=AnT?Pkh14k6Q8fm&|DzTR~gkoUr_RT@ILq$gGRCwCW)zOZtFbn|EOl%Vfbo>8*d+kQ_!Yi?~JFTkla^wh0 zEx#NrjYO?2iC$>o<#H_xWEnZzQoNt&BuSVryp}g3AqAKu(uUM>!M2}ZBLi%04>7!H zu#5@OJ+$Fvj7U9vNR*NQw!SR;799sAN9@ZM?MEX8WczgNv;>i*aX1&Rnr9qv^IC(? zgp^02s$9Gwa`4o9y)GhyL4@+G&Z|0k8wYqS_N~97ejrjJ5iu`Bo`LjN@7so%_-A~h z_W?W*_r4vza=Y1$Q+>bDM>F>Q@D=G-P)ut*-ddqNA)^8V15Bv3ib<`MiHIZ)1C#+~ zggK}ps%fBl4kB6N>WQp*;5i{#;22OOb3zeK1nUP>AqkANaj=RRNnU{QlLHdq8lnJM z;26=2EU&Hsk_e74$?)u(cyk=$O#P;wWL@_JRT8}%(6}^tWrchD?BalUP#E={G8Ymt zWC$+_lnBaf5S_4;tN~9s6BI82Bp6Es4X>nK8H@NH=RwH^RYYu@B?t8E{|i?#LG>m< z)73k{I8TGo0MU#I*YF0&ngQ0!jdlLY)X1(6iC|$Kw5yj7qA4KvE&r2XqR3wdO>0%V zd+W*!=v~3pJyn?5!W(E#MofVBO@ti9Z&i@@xGA(%BMZk9Yyh00000NkvXX Hu0mjf+(HpR literal 0 HcmV?d00001 diff --git a/public/images/trainer/galactic_admin_m.json b/public/images/trainer/galactic_admin_m.json new file mode 100644 index 00000000000..f404c2247e9 --- /dev/null +++ b/public/images/trainer/galactic_admin_m.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "galactic_admin_m.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:3012867f03f02c4ee67a8ab3ad5a000e:77a5f60f1adc158664b3b2ee17bf30fe:7e8259b5177c0a76e5d02d6bdc66affe$" + } +} diff --git a/public/images/trainer/galactic_admin_m.png b/public/images/trainer/galactic_admin_m.png new file mode 100644 index 0000000000000000000000000000000000000000..cb59227c7a743b3c220a0a10072504123947289e GIT binary patch literal 689 zcmV;i0#5yjP)n7VgLXD|NsAcdxJ`9oV~rpAVG89qy>pb+drDfpdt%;FTK~OLt{e_h00001 zbW%=J06^y0W&i*JFG)l}RCwCO)`?cFN(_WyDg`u+pzr^-w>pimot0$W^Pj=_TPf$^ zAGc%}56ChvaqmL(Xa+dz&(b-0IiR3}OSw=zsmA3@?wm@Ryj+|>WPpo{?bKyX0H0=o z{#R}axIej8XO#iY)#omGAP#VedmcKt12Qj=>Lxg1Ue_JtyzKP^x$^n>p17~C)xGip zx96K8PLK5hYOPx-9BzuWd6n1Ovo>*C?}2;W_D$Y!#;vM#z58MDH|NFCs&~_4Ya=gC z1wh&~O`tkBm}1~SvkA?V;@9~jlJ9ze8_o1bobv*ppzD8eK@e0OG=M`aQbs8+FJNy7 z#t|qE7NW&4C{ExmFfLvoAaKYKIgaBA4rB^AcF>LwIv532151Ol!0{C%%#3NEqJv>i z;5c>=2!T`U4QPh&h0|mvH*>N|o~%k?crrUR9XW_Ve-;KxrBM&5}Z&pF?T zU;xC&XWj$(adAKK?r0j6*#}VF1l8ev6dC=hi=PM=fjrQl{J@;eI2Y%f2+Ia>dO4e6 z=Ue5R2=mfFJKrV?^k0wci|f^-m-A1a`VuUqj4k^;SX#!fUTnp)Kb%Nq!^j`@E{2+?9q~^>| zegX|MSJPNTUS34%kPze4(>TEpF3-3khTs6#&@hHx8>0m^{ewq+%W!n%0C zWnIa*<9L66Z@G9-z#)Rr9>0}4juu2%d|(5T_T<`mW)*#2!y>I|$_;~o#BLC#&GUfI z0X0Bs`%et>zQ29#pbBDp^j~lDyldLFM$M$6c?KTvgC;7d;-DgY9{K`u2kptQ&*<0% zA`*X#O7?E=MxA_%N+ze*Aa;?uQ$)@=IUBM`ymf_0Oh`FpYznwUi74I{V;WQ51TGLE z1QVb#D>!oWiD4<5Y098D893dd3uF@O339@%h*Oj;Il!=reK$xMa^sW}tCwA(NOyvw zAQNrbB{D5bfD)hrQUpx&bS2~hf{2xkuoWF0Vz3fNWW)k)Xc~+j5y@VM6-`W&dKE+~ z6B{OCg-_9O9f5igF;1B7XDGtD__iJOCKWYBRF5cly-nRy3`<7~u>&-Zq=+zpNyPw{ z$0U!UdWJs}+&vS&6%Lc?c!q>>8!^nwDuN3Dk`EGjLS#V7k0<9(sNgB$15e(Uh;z!w z3TCFeh~~K@GYlKks3a@si_MCaJHdv%pfa4s3v>r328(+BB$V{Crmq2>Qn@A81@}rI zY-(uwy&7l|nj-cUy#ns21okFZ1m^-)>Pmkv6jeYB1-yoCa8{&&A^P`ZvBpooxxk0Lq12AYQdeboHt Z`2!llB*-I|PaFUM002ovPDHLkV1fX3YV`mB literal 0 HcmV?d00001 diff --git a/public/images/trainer/magma_admin_m.json b/public/images/trainer/magma_admin_m.json new file mode 100644 index 00000000000..9961b8dcd3b --- /dev/null +++ b/public/images/trainer/magma_admin_m.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "magma_admin_f.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f63ad48affc076f60fae78992c96a2bf:80928b32710abcb28c07c6fc5a425d99:3b961d8852b62aaf24ceb2030c036515$" + } +} diff --git a/public/images/trainer/magma_admin_m.png b/public/images/trainer/magma_admin_m.png new file mode 100644 index 0000000000000000000000000000000000000000..93e3a17539d315e1ff7846e412b5264335f3d064 GIT binary patch literal 845 zcmV-T1G4;yP)24bkm+Vi|K~#9!?9hP*gE0)m@m*VxTuSr)54)Vt7z3n$ z{Z$?KA+LWwg}TWd70|xnolmHZE8b&9#O{L-Bu?$UFMz=U%T;$gmWU7+HQHdZ0<6e= zKREpLG(PB5l-bGtqIOC%#s92ab&i@G1r3gJ8yYQfy$oG#`SlRwPm)k=d;q!?(A=u}IpzG~ZT?-Gf;3#OFGw|p0`Vs??6y+>mA`Vs62M$iy5(YVflef9)%;NfEm z?|7Tp#GHBubv}Y^YbU_)7P7FMdhKD=QwbqO$*C(WtQb?~Xiv1%ny@)E9!82I)QiLP;B|-L literal 0 HcmV?d00001 diff --git a/public/images/trainer/plasma_sage.json b/public/images/trainer/plasma_sage.json new file mode 100644 index 00000000000..05e75141ec0 --- /dev/null +++ b/public/images/trainer/plasma_sage.json @@ -0,0 +1,2120 @@ +{ + "textures": [ + { + "image": "plasma_sage.png", + "format": "RGBA8888", + "size": { + "w": 250, + "h": 250 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 11, + "y": 1, + "w": 56, + "h": 79 + }, + "frame": { + "x": 1, + "y": 1, + "w": 56, + "h": 79 + } + }, + { + "filename": "0002.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 11, + "y": 1, + "w": 56, + "h": 79 + }, + "frame": { + "x": 1, + "y": 1, + "w": 56, + "h": 79 + } + }, + { + "filename": "0003.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 11, + "y": 1, + "w": 56, + "h": 79 + }, + "frame": { + "x": 1, + "y": 1, + "w": 56, + "h": 79 + } + }, + { + "filename": "0004.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 11, + "y": 1, + "w": 56, + "h": 79 + }, + "frame": { + "x": 1, + "y": 1, + "w": 56, + "h": 79 + } + }, + { + "filename": "0005.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 13, + "y": 2, + "w": 55, + "h": 78 + }, + "frame": { + "x": 1, + "y": 82, + "w": 55, + "h": 78 + } + }, + { + "filename": "0006.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 14, + "y": 2, + "w": 54, + "h": 78 + }, + "frame": { + "x": 59, + "y": 1, + "w": 54, + "h": 78 + } + }, + { + "filename": "0007.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 14, + "y": 2, + "w": 54, + "h": 78 + }, + "frame": { + "x": 59, + "y": 1, + "w": 54, + "h": 78 + } + }, + { + "filename": "0008.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 3, + "w": 53, + "h": 77 + }, + "frame": { + "x": 1, + "y": 162, + "w": 53, + "h": 77 + } + }, + { + "filename": "0009.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 4, + "w": 53, + "h": 76 + }, + "frame": { + "x": 115, + "y": 1, + "w": 53, + "h": 76 + } + }, + { + "filename": "0010.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 4, + "w": 53, + "h": 76 + }, + "frame": { + "x": 115, + "y": 1, + "w": 53, + "h": 76 + } + }, + { + "filename": "0011.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 4, + "w": 53, + "h": 76 + }, + "frame": { + "x": 115, + "y": 1, + "w": 53, + "h": 76 + } + }, + { + "filename": "0012.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 4, + "w": 53, + "h": 76 + }, + "frame": { + "x": 115, + "y": 1, + "w": 53, + "h": 76 + } + }, + { + "filename": "0013.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 4, + "w": 53, + "h": 76 + }, + "frame": { + "x": 115, + "y": 1, + "w": 53, + "h": 76 + } + }, + { + "filename": "0014.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 4, + "w": 53, + "h": 76 + }, + "frame": { + "x": 115, + "y": 1, + "w": 53, + "h": 76 + } + }, + { + "filename": "0015.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 4, + "w": 53, + "h": 76 + }, + "frame": { + "x": 115, + "y": 1, + "w": 53, + "h": 76 + } + }, + { + "filename": "0016.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 20, + "y": 3, + "w": 49, + "h": 77 + }, + "frame": { + "x": 170, + "y": 1, + "w": 49, + "h": 77 + } + }, + { + "filename": "0017.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 20, + "y": 2, + "w": 47, + "h": 78 + }, + "frame": { + "x": 58, + "y": 82, + "w": 47, + "h": 78 + } + }, + { + "filename": "0018.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 56, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0019.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 56, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0020.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 107, + "y": 81, + "w": 46, + "h": 80 + } + }, + { + "filename": "0021.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 104, + "y": 163, + "w": 46, + "h": 80 + } + }, + { + "filename": "0022.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0023.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0024.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0025.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0026.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0027.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0028.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0029.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0030.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0031.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0032.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0033.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 155, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0034.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 203, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0035.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 203, + "y": 80, + "w": 46, + "h": 80 + } + }, + { + "filename": "0036.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 0, + "w": 46, + "h": 80 + }, + "frame": { + "x": 152, + "y": 163, + "w": 46, + "h": 80 + } + }, + { + "filename": "0037.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0038.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0039.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0040.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0041.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0042.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0043.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0044.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0045.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0046.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0047.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0048.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0049.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0050.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0051.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0052.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0053.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0054.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0055.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0056.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0057.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0058.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0059.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0060.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0061.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0062.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0063.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0064.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0065.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0066.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0067.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0068.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0069.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0070.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0071.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0072.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0073.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0074.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0075.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0076.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0077.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0078.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0079.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0080.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0081.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0082.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0083.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0084.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0085.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0086.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0087.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0088.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0089.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0090.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0091.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0092.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0093.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0094.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0095.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0096.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0097.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0098.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0099.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + }, + { + "filename": "0100.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 1, + "w": 46, + "h": 79 + }, + "frame": { + "x": 200, + "y": 162, + "w": 46, + "h": 79 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:98df2be457c75de554b8ce6c2f5ff582:93e2cb242dc211e2485f87e4db93af88:0c38bc008e5ede7b6331c02b8220846f$" + } +} \ No newline at end of file diff --git a/public/images/trainer/plasma_sage.png b/public/images/trainer/plasma_sage.png new file mode 100644 index 0000000000000000000000000000000000000000..6c866562989a99bbba8b844b7d17f3e5be6128de GIT binary patch literal 5075 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 literal 0 HcmV?d00001 diff --git a/src/battle.ts b/src/battle.ts index cbe6dee1a4a..e8a1323fc4c 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -464,7 +464,8 @@ export interface FixedBattleConfigs { /** * Youngster/Lass on 5 * Rival on 8, 55, 95, 145, 195 - * Evil team grunts on 35, 62, 64, 66, 112, 114 + * Evil team grunts on 35, 62, 64, and 112 + * Evil team admin on 66 and 114 * Evil leader on 115, 165 * E4 on 182, 184, 186, 188 * Champion on 190 @@ -485,13 +486,13 @@ export const classicFixedBattles: FixedBattleConfigs = { [64]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [66]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_ADMIN, TrainerType.MAGMA_ADMIN, TrainerType.AQUA_ADMIN, TrainerType.GALACTIC_ADMIN, TrainerType.PLASMA_SAGE, TrainerType.FLARE_ADMIN ], true)), [95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_4, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)), [112]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [114]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), + .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_ADMIN, TrainerType.MAGMA_ADMIN, TrainerType.AQUA_ADMIN, TrainerType.GALACTIC_ADMIN, TrainerType.PLASMA_SAGE, TrainerType.FLARE_ADMIN ], true)), [115]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_BOSS_GIOVANNI_1, TrainerType.MAXIE, TrainerType.ARCHIE, TrainerType.CYRUS, TrainerType.GHETSIS, TrainerType.LYSANDRE ])), [145]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index ec3358b1a77..4386515c953 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -459,6 +459,20 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], + [TrainerType.ROCKET_ADMIN]: [ + { + encounter: [ + "dialogue:rocket_admin.encounter.1", + "dialogue:rocket_admin.encounter.2", + "dialogue:rocket_admin.encounter.3", + ], + victory: [ + "dialogue:rocket_admin.victory.1", + "dialogue:rocket_admin.victory.2", + "dialogue:rocket_admin.victory.3", + ] + } + ], [TrainerType.MAGMA_GRUNT]: [ { encounter: [ @@ -469,6 +483,20 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], + [TrainerType.MAGMA_ADMIN]: [ + { + encounter: [ + "dialogue:magma_admin.encounter.1", + "dialogue:magma_admin.encounter.2", + "dialogue:magma_admin.encounter.3", + ], + victory: [ + "dialogue:magma_admin.victory.1", + "dialogue:magma_admin.victory.2", + "dialogue:magma_admin.victory.3", + ] + } + ], [TrainerType.AQUA_GRUNT]: [ { encounter: [ @@ -479,6 +507,20 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], + [TrainerType.AQUA_ADMIN]: [ + { + encounter: [ + "dialogue:aqua_admin.encounter.1", + "dialogue:aqua_admin.encounter.2", + "dialogue:aqua_admin.encounter.3", + ], + victory: [ + "dialogue:aqua_admin.victory.1", + "dialogue:aqua_admin.victory.2", + "dialogue:aqua_admin.victory.3", + ] + } + ], [TrainerType.GALACTIC_GRUNT]: [ { encounter: [ @@ -489,6 +531,20 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], + [TrainerType.GALACTIC_ADMIN]: [ + { + encounter: [ + "dialogue:galactic_admin.encounter.1", + "dialogue:galactic_admin.encounter.2", + "dialogue:galactic_admin.encounter.3", + ], + victory: [ + "dialogue:galactic_admin.victory.1", + "dialogue:galactic_admin.victory.2", + "dialogue:galactic_admin.victory.3", + ] + } + ], [TrainerType.PLASMA_GRUNT]: [ { encounter: [ @@ -499,6 +555,20 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], + [TrainerType.PLASMA_SAGE]: [ + { + encounter: [ + "dialogue:plasma_sage.encounter.1", + "dialogue:plasma_sage.encounter.2", + "dialogue:plasma_sage.encounter.3", + ], + victory: [ + "dialogue:plasma_sage.victory.1", + "dialogue:plasma_sage.victory.2", + "dialogue:plasma_sage.victory.3", + ] + } + ], [TrainerType.FLARE_GRUNT]: [ { encounter: [ @@ -509,6 +579,20 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], + [TrainerType.FLARE_ADMIN]: [ + { + encounter: [ + "dialogue:flare_admin.encounter.1", + "dialogue:flare_admin.encounter.2", + "dialogue:flare_admin.encounter.3", + ], + victory: [ + "dialogue:flare_admin.victory.1", + "dialogue:flare_admin.victory.2", + "dialogue:flare_admin.victory.3", + ] + } + ], [TrainerType.ROCKET_BOSS_GIOVANNI_1]: [ { encounter: [ diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index 4f3481b27ac..2cc228a93cf 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -556,7 +556,7 @@ export class TrainerConfig { const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); this.name = i18next.t(`trainerNames:${nameForCall}`); this.setTitle(title); - this.setMoneyMultiplier(2.25); + this.setMoneyMultiplier(2.5); this.setBoss(); this.setStaticParty(); this.setBattleBgm("battle_plasma_boss"); @@ -1187,6 +1187,12 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], [TrainerPoolTier.SUPER_RARE]: [Species.DRATINI, Species.LARVITAR] }), + [TrainerType.ROCKET_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.RATTATA, Species.KOFFING, Species.EKANS, Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], + [TrainerPoolTier.UNCOMMON]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], + [TrainerPoolTier.RARE]: [Species.DRATINI, Species.LARVITAR] + }), [TrainerType.MAGMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Magma Grunt Female").setHasDouble("Magma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [Species.SLUGMA, Species.POOCHYENA, Species.NUMEL, Species.ZIGZAGOON, Species.DIGLETT, Species.MAGBY, Species.TORKOAL, Species.BALTOY, Species.BARBOACH], @@ -1194,6 +1200,12 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.TRAPINCH, Species.HEATMOR], [TrainerPoolTier.SUPER_RARE]: [Species.TURTONATOR, Species.CHARCADET] }), + [TrainerType.MAGMA_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.NUMEL, Species.POOCHYENA, Species.SLUGMA, Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.SWINUB, Species.GLIGAR], + [TrainerPoolTier.UNCOMMON]: [Species.TRAPINCH, Species.HEATMOR], + [TrainerPoolTier.RARE]: [Species.TURTONATOR, Species.CHARCADET] + }), [TrainerType.AQUA_GRUNT]: new TrainerConfig(++t).setHasGenders("Aqua Grunt Female").setHasDouble("Aqua Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.CARVANHA, Species.WAILMER, Species.ZIGZAGOON, Species.LOTAD, Species.CORPHISH, Species.SPHEAL ], @@ -1201,6 +1213,12 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], [TrainerPoolTier.SUPER_RARE]: [Species.DONDOZO] }), + [TrainerType.AQUA_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.CARVANHA, Species.CORPHISH, Species.ZIGZAGOON, Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH ], + [TrainerPoolTier.UNCOMMON]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], + [TrainerPoolTier.RARE]: [Species.DONDOZO] + }), [TrainerType.GALACTIC_GRUNT]: new TrainerConfig(++t).setHasGenders("Galactic Grunt Female").setHasDouble("Galactic Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.GLAMEOW, Species.STUNKY, Species.CROAGUNK, Species.SHINX, Species.WURMPLE, Species.BRONZOR, Species.DRIFLOON, Species.BURMY], @@ -1208,6 +1226,12 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], [TrainerPoolTier.SUPER_RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] }), + [TrainerType.GALACTIC_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.GLAMEOW, Species.STUNKY, Species.BRONZOR, Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL ], + [TrainerPoolTier.UNCOMMON]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], + [TrainerPoolTier.RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] + }), [TrainerType.PLASMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Plasma Grunt Female").setHasDouble("Plasma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.PATRAT, Species.LILLIPUP, Species.PURRLOIN, Species.SCRAFTY, Species.WOOBAT, Species.VANILLITE, Species.SANDILE, Species.TRUBBISH], @@ -1215,6 +1239,12 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], [TrainerPoolTier.SUPER_RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] }), + [TrainerType.PLASMA_SAGE]: new TrainerConfig(++t).setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.SCRAFTY, Species.LILLIPUP, Species.PURRLOIN, Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], + [TrainerPoolTier.UNCOMMON]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], + [TrainerPoolTier.RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] + }), [TrainerType.FLARE_GRUNT]: new TrainerConfig(++t).setHasGenders("Flare Grunt Female").setHasDouble("Flare Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.FLETCHLING, Species.LITLEO, Species.PONYTA, Species.INKAY, Species.HOUNDOUR, Species.SKORUPI, Species.SCRAFTY, Species.CROAGUNK], @@ -1222,6 +1252,12 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], [TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN, Species.DRUDDIGON] }), + [TrainerType.FLARE_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ Species.FLETCHLING, Species.LITLEO, Species.INKAY, Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], + [TrainerPoolTier.UNCOMMON]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], + [TrainerPoolTier.RARE]: [Species.NOIVERN, Species.DRUDDIGON] + }), [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader(signatureSpecies["BROCK"],true, Type.ROCK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), [TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MISTY"],false, Type.WATER).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), [TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LT_SURGE"],true, Type.ELECTRIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), diff --git a/src/enums/trainer-type.ts b/src/enums/trainer-type.ts index 6bd8f567acb..db0bf3a8d64 100644 --- a/src/enums/trainer-type.ts +++ b/src/enums/trainer-type.ts @@ -53,11 +53,17 @@ export enum TrainerType { WORKER, YOUNGSTER, ROCKET_GRUNT, + ROCKET_ADMIN, MAGMA_GRUNT, + MAGMA_ADMIN, AQUA_GRUNT, + AQUA_ADMIN, GALACTIC_GRUNT, + GALACTIC_ADMIN, PLASMA_GRUNT, + PLASMA_SAGE, FLARE_GRUNT, + FLARE_ADMIN, ROCKET_BOSS_GIOVANNI_1, ROCKET_BOSS_GIOVANNI_2, MAXIE, diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 3e78afeae83..107dfbe6831 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -121,8 +121,8 @@ export default class Trainer extends Phaser.GameObjects.Container { // Determine the title to include based on the configuration and includeTitle flag. let title = includeTitle && this.config.title ? this.config.title : null; - - if (this.name === "" && name.toLowerCase().includes("grunt")) { + const evilTeamTitles = ["grunt", "admin", "sage"]; + if (this.name === "" && evilTeamTitles.some(t => name.toLocaleLowerCase().includes(t))) { // This is a evil team grunt so we localize it by only using the "name" as the title title = i18next.t(`trainerClasses:${name.toLowerCase().replace(/\s/g, "_")}`); console.log("Localized grunt name: " + title); diff --git a/src/locales/de/dialogue.ts b/src/locales/de/dialogue.ts index 02c497b3182..6227c2d149d 100644 --- a/src/locales/de/dialogue.ts +++ b/src/locales/de/dialogue.ts @@ -378,6 +378,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Das war mal wieder ein Schuss in den Ofen!" }, }, + "rocket_admin": { + "encounter": { + 1: "Oh? You managed to get this far? You must be quite the trainer.", + 2: "That's quite enough of you playing hero, kid.", + 3: "I'll show you how scary an angry adult can be!" + }, + "victory": { + 1: "No! Forgive me Giovanni!", + 2: "How could this be?", + 3: "Urgh... You were too strong..." + }, + }, "firebreather": { "encounter": { 1: "Meine Flammen werden dich verschlingen!", @@ -410,6 +422,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Wie kann das sein? Ich bin Teil vom mächtigen Team Magma! Wir wollen doch nur die Welt verbessern…" }, }, + "magma_admin": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: "Hehehe... So I lost...", + 2: "You're disgustingly strong!", + 3: "Ahahaha! Ouch!" + }, + }, "aqua_grunt": { "encounter": { 1: "Du willst dich also mit Team Aqua anlegen? Du traust dich ja was… Dich werfe ich über Bord!", @@ -418,6 +442,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Vielleicht sollte ich wohl lieber selber über die Planke gehen…", }, }, + "aqua_admin": { + "encounter": { + 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", + 2: "Hahn? What's this? Who's this spoiled brat?", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "So I lost too...", + 2: "Ahhh?! Did I go too easy on you?!", + 3: "Wh-what was that?" + }, + }, "galactic_grunt": { "encounter": { 1: "Team Galaktik wird die Welt in eine bessere Welt verwandeln! Und du wirst uns nicht aufhalten!" @@ -426,6 +462,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Zyrus wird uns für diese Niederlage bestrafen…" }, }, + "galactic_admin": { + "encounter": { + 1: "I'm one of Team Galactic's Commanders.", + 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", + 3: "What's the matter? Don't tell me you're shaking?" + }, + "victory": { + 1: "This can't be?! I lost?! You... you uppity brat!", + 2: "You, my friend, are tough!", + 3: "Losing to some child... Being careless cost me too much." + }, + }, "plasma_grunt": { "encounter": { 1: "Pokémon sollten frei sein! Team Plasma wird sie befreien!" @@ -434,6 +482,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Wie konnte ich verlieren? Ich dachte, ich würde die Welt retten…" }, }, + "plasma_sage": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here!", + 2: "Oh, for crying out loud... I didn't expect to have to fight!", + 3: "You're an impressive Trainer to have made it this far." + }, + "victory": { + 1: "Ghetsis...", + 2: "It's bitter cold. I'm shivering. I'm suffering.", + 3: "Hmph. You're a smarter Trainer than I expected." + }, + }, "flare_grunt": { "encounter": { 1: `Ich bin ein Mitglied von Team Flare! Das sieht man mir doch an. Mein Stil ist unverkennbar! @@ -443,6 +503,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Stil ist wohl doch nicht alles…" }, }, + "flare_admin": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "You're quite strong. Oh yes-very strong, indeed.", + 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + }, + }, "rocket_boss_giovanni_1": { "encounter": { 1: `Ich bin beeindruckt, du hast es bis hierher geschafft! diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts index 1390bf410ae..72776c40e88 100644 --- a/src/locales/de/trainers.ts +++ b/src/locales/de/trainers.ts @@ -128,21 +128,32 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rüpel von Team Rocket", "rocket_grunt_female": "Rüpel von Team Rocket", "rocket_grunts": "Rüpel von Team Rocket", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "Rüpel von Team Magma", "magma_grunt_female": "Rüpel von Team Magma", "magma_grunts": "Rüpel von Team Magma", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "Rüpel von Team Aqua", "aqua_grunt_female": "Rüpel von Team Aqua", "aqua_grunts": "Rüpel von Team Aqua", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Rüpel von Team Galaktik", "galactic_grunt_female": "Rüpel von Team Galaktik", "galactic_grunts": "Rüpel von Team Galaktik", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Rüpel von Team Plasma", "plasma_grunt_female": "Rüpel von Team Plasma", "plasma_grunts": "Rüpel von Team Plasma", + "plasma_sage": "Plasma Sage", "flare_grunt": "Rüpel von Team Flare", "flare_grunt_female": "Rüpel von Team Flare", "flare_grunts": "Rüpel von Team Flare", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/en/dialogue.ts b/src/locales/en/dialogue.ts index dda8891b788..44693c38aa1 100644 --- a/src/locales/en/dialogue.ts +++ b/src/locales/en/dialogue.ts @@ -391,6 +391,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, + "rocket_admin": { + "encounter": { + 1: "Oh? You managed to get this far? You must be quite the trainer.", + 2: "That's quite enough of you playing hero, kid.", + 3: "I'll show you how scary an angry adult can be!" + }, + "victory": { + 1: "No! Forgive me Giovanni!", + 2: "How could this be?", + 3: "Urgh... You were too strong..." + }, + }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, don’t expect any mercy!" @@ -399,6 +411,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, + "magma_admin": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: "Hehehe... So I lost...", + 2: "You're disgustingly strong!", + 3: "Ahahaha! Ouch!" + }, + }, "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -407,6 +431,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, + "aqua_admin": { + "encounter": { + 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", + 2: "Hahn? What's this? Who's this spoiled brat?", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "So I lost too...", + 2: "Ahhh?! Did I go too easy on you?!", + 3: "Wh-what was that?" + }, + }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -415,6 +451,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, + "galactic_admin": { + "encounter": { + 1: "I'm one of Team Galactic's Commanders.", + 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", + 3: "What's the matter? Don't tell me you're shaking?" + }, + "victory": { + 1: "This can't be?! I lost?! You... you uppity brat!", + 2: "You, my friend, are tough!", + 3: "Losing to some child... Being careless cost me too much." + }, + }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -423,6 +471,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, + "plasma_sage": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here!", + 2: "Oh, for crying out loud... I didn't expect to have to fight!", + 3: "You're an impressive Trainer to have made it this far." + }, + "victory": { + 1: "Ghetsis...", + 2: "It's bitter cold. I'm shivering. I'm suffering.", + 3: "Hmph. You're a smarter Trainer than I expected." + }, + }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -431,6 +491,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, + "flare_admin": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "You're quite strong. Oh yes-very strong, indeed.", + 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + }, + }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index 8e0394e0786..00367865d14 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -128,21 +128,32 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rocket Grunt", "rocket_grunts": "Rocket Grunts", "rocket_grunt_female": "Rocket Grunt", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "Magma Grunt", "magma_grunt_female": "Magma Grunt", "magma_grunts": "Magma Grunts", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "Aqua Grunt", "aqua_grunt_female": "Aqua Grunt", "aqua_grunts": "Aqua Grunts", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Galactic Grunt", "galactic_grunt_female": "Galactic Grunt", "galactic_grunts": "Galactic Grunts", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Plasma Grunt", "plasma_grunt_female": "Plasma Grunt", "plasma_grunts": "Plasma Grunts", + "plasma_sage": "Plasma Sage", "flare_grunt": "Flare Grunt", "flare_grunt_female": "Flare Grunt", "flare_grunts": "Flare Grunts", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts index 133cce0785c..f881fc04f94 100644 --- a/src/locales/es/trainers.ts +++ b/src/locales/es/trainers.ts @@ -121,21 +121,31 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rocket Grunt", "rocket_grunts": "Rocket Grunts", "rocket_grunt_female": "Rocket Grunt", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "Magma Grunt", "magma_grunt_female": "Magma Grunt", "magma_grunts": "Magma Grunts", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "Aqua Grunt", "aqua_grunt_female": "Aqua Grunt", "aqua_grunts": "Aqua Grunts", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Galactic Grunt", "galactic_grunt_female": "Galactic Grunt", "galactic_grunts": "Galactic Grunts", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Plasma Grunt", "plasma_grunt_female": "Plasma Grunt", "plasma_grunts": "Plasma Grunts", "flare_grunt": "Flare Grunt", "flare_grunt_female": "Flare Grunt", "flare_grunts": "Flare Grunts", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/fr/dialogue.ts b/src/locales/fr/dialogue.ts index d3ec5f85d5d..ac68aa6413b 100644 --- a/src/locales/fr/dialogue.ts +++ b/src/locales/fr/dialogue.ts @@ -2898,6 +2898,18 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Une fois de plus la Team Rocket s’envole vers d’autres cieux !" }, }, + "rocket_admin": { + "encounter": { + 1: "Oh? You managed to get this far? You must be quite the trainer.", + 2: "That's quite enough of you playing hero, kid.", + 3: "I'll show you how scary an angry adult can be!" + }, + "victory": { + 1: "No! Forgive me Giovanni!", + 2: "How could this be?", + 3: "Urgh... You were too strong..." + }, + }, "magma_grunt": { "encounter": { 1: "N’espère pas recevoir de la pitié si tu te mets sur le chemin de la Team Magma !" @@ -2906,6 +2918,18 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Je…?\nJ’ai perdu ?!" }, }, + "magma_admin": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: "Hehehe... So I lost...", + 2: "You're disgustingly strong!", + 3: "Ahahaha! Ouch!" + }, + }, "aqua_grunt": { "encounter": { 1: "Aucune pitié si tu te mets sur le chemin de la Team Aqua, même pour une gamine !" @@ -2914,6 +2938,18 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Comment ça ?" }, }, + "aqua_admin": { + "encounter": { + 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", + 2: "Hahn? What's this? Who's this spoiled brat?", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "So I lost too...", + 2: "Ahhh?! Did I go too easy on you?!", + 3: "Wh-what was that?" + }, + }, "galactic_grunt": { "encounter": { 1: "Ne te mets pas en travers de la Team Galaxie !" @@ -2922,6 +2958,18 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Désactivation…" }, }, + "galactic_admin": { + "encounter": { + 1: "I'm one of Team Galactic's Commanders.", + 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", + 3: "What's the matter? Don't tell me you're shaking?" + }, + "victory": { + 1: "This can't be?! I lost?! You... you uppity brat!", + 2: "You, my friend, are tough!", + 3: "Losing to some child... Being careless cost me too much." + }, + }, "plasma_grunt": { "encounter": { 1: "Pas de quatiers à ceux qui ne suivent pas notre idéal !" @@ -2930,6 +2978,18 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa !" }, }, + "plasma_sage": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here!", + 2: "Oh, for crying out loud... I didn't expect to have to fight!", + 3: "You're an impressive Trainer to have made it this far." + }, + "victory": { + 1: "Ghetsis...", + 2: "It's bitter cold. I'm shivering. I'm suffering.", + 3: "Hmph. You're a smarter Trainer than I expected." + }, + }, "flare_grunt": { "encounter": { 1: "Le style et le bon gout, il n’y a que ça qui compte !" @@ -2938,6 +2998,18 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Mon futur me semble guère radieux." }, }, + "flare_admin": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "You're quite strong. Oh yes-very strong, indeed.", + 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + }, + }, "rocket_boss_giovanni_1": { "encounter": { 1: "Bien. Je dois admettre que je suis impressionné de te voir ici !" diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 263c1f6792a..98bf8cdd2fb 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -128,21 +128,32 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Sbire de la Team Rocket", "rocket_grunt_female": "Sbire de la Team Rocket", "rocket_grunts": "Sbires de la Team Rocket", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "Sbire de la Team Magma", "magma_grunt_female": "Sbire de la Team Magma", "magma_grunts": "Sbires de la Team Magma", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "Sbire de la Team Aqua", "aqua_grunt_female": "Sbire de la Team Aqua", "aqua_grunts": "Sbires de la Team Aqua", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Sbire de la Team Galaxie", "galactic_grunt_female": "Sbire de la Team Galaxie", "galactic_grunts": "Sbires de la Team Galaxie", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Sbire de la Team Plasma", "plasma_grunt_female": "Sbire de la Team Plasma", "plasma_grunts": "Sbires de la Team Plasma", + "plasma_sage": "Plasma Sage", "flare_grunt": "Sbire de la Team Flare", "flare_grunt_female": "Sbire de la Team Flare", "flare_grunts": "Sbires de la Team Flare", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/it/dialogue.ts b/src/locales/it/dialogue.ts index 702b550c45a..3861d530c01 100644 --- a/src/locales/it/dialogue.ts +++ b/src/locales/it/dialogue.ts @@ -391,6 +391,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, + "rocket_admin": { + "encounter": { + 1: "Oh? You managed to get this far? You must be quite the trainer.", + 2: "That's quite enough of you playing hero, kid.", + 3: "I'll show you how scary an angry adult can be!" + }, + "victory": { + 1: "No! Forgive me Giovanni!", + 2: "How could this be?", + 3: "Urgh... You were too strong..." + }, + }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, don’t expect any mercy!" @@ -399,6 +411,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, + "magma_admin": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: "Hehehe... So I lost...", + 2: "You're disgustingly strong!", + 3: "Ahahaha! Ouch!" + }, + }, "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -407,6 +431,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, + "aqua_admin": { + "encounter": { + 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", + 2: "Hahn? What's this? Who's this spoiled brat?", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "So I lost too...", + 2: "Ahhh?! Did I go too easy on you?!", + 3: "Wh-what was that?" + }, + }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -415,6 +451,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, + "galactic_admin": { + "encounter": { + 1: "I'm one of Team Galactic's Commanders.", + 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", + 3: "What's the matter? Don't tell me you're shaking?" + }, + "victory": { + 1: "This can't be?! I lost?! You... you uppity brat!", + 2: "You, my friend, are tough!", + 3: "Losing to some child... Being careless cost me too much." + }, + }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -423,6 +471,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, + "plasma_sage": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here!", + 2: "Oh, for crying out loud... I didn't expect to have to fight!", + 3: "You're an impressive Trainer to have made it this far." + }, + "victory": { + 1: "Ghetsis...", + 2: "It's bitter cold. I'm shivering. I'm suffering.", + 3: "Hmph. You're a smarter Trainer than I expected." + }, + }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -431,6 +491,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, + "flare_admin": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "You're quite strong. Oh yes-very strong, indeed.", + 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + }, + }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index 260e44bdca8..dde79d694ca 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -120,23 +120,33 @@ export const trainerClasses: SimpleTranslationEntries = { "workers": "Lavoratori", "youngster": "Bullo", "rocket_grunt": "Recluta Team Rocket", - "rocket_grunts": "Reclute Team Rocket", "rocket_grunt_female": "Recluta Team Rocket", + "rocket_grunts": "Reclute Team Rocket", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "Recluta Team Magma", "magma_grunt_female": "Recluta Team Magma", "magma_grunts": "Reclute Team Magma", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "Recluta Team Idro", "aqua_grunt_female": "Recluta Team Idro", "aqua_grunts": "Recluta Team Idro", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Recluta Team Galassia", "galactic_grunt_female": "Recluta Team Galassia", "galactic_grunts": "Reclute Team Galassia", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Seguace Plasma", "plasma_grunt_female": "Seguace Plasma", "plasma_grunts": "Seguaci Plasma", "flare_grunt": "Recluta Team Flare", "flare_grunt_female": "Recluta Team Flare", "flare_grunts": "Reclute Team Flare", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/ko/dialogue.ts b/src/locales/ko/dialogue.ts index 719b738778d..8e7f09ff373 100644 --- a/src/locales/ko/dialogue.ts +++ b/src/locales/ko/dialogue.ts @@ -391,6 +391,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "로켓단은 다시 떠오를 거니까!" }, }, + "rocket_admin": { + "encounter": { + 1: "어라 어라… 결국 여기까지 오셨습니까? 꽤 우수한 트레이너인가 보군요.", + 2: "영웅 놀이는 여기까지랍니다, 꼬마야.", + 3: "어른이 화를 내면 무섭다는 걸 보여 드리죠!" + }, + "victory": { + 1: "크으… 비주기님 용서해 주세요…!", + 2: "어떻게 이런 일이…", + 3: "아아… 넌 너무 강하다…" + }, + }, "magma_grunt": { "encounter": { 1: " 마그마단을 방해한다면, 자비는 없닷!" @@ -399,6 +411,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "하? 내가 졌어?!" }, }, + "magma_admin": { + "encounter": { + 1: "……아하… ……역시 왔네…그치만 안타깝게 됐어……다 끝났거든", + 2: "……남은……내 일은……너를……막는 것", + 3: "……너랑……인게이지……하고 싶어……아하하하" + }, + "victory": { + 1: "……룰루리", + 2: "……재밌쪄", + 3: "…하아하아……으…하아하아…" + }, + }, "aqua_grunt": { "encounter": { 1: "아쿠아단을 넘본 사람에게는 자비는 없다, 꼬마도 마찬가지야!" @@ -407,6 +431,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "말도 안돼!" }, }, + "aqua_admin": { + "encounter": { + 1: "각오하는 게 좋을 거야! 네 얼굴이 눈물로 범벅이 되게 해주겠어!", + 2: "아앙? 뭐야? 이 건방진 꼬맹이는…", + 3: "…아니 넌!? 일부러 여기까지 쫓아온 거야?" + }, + "victory": { + 1: "하아… 하아…완전 지쳤어", + 2: "크윽…!? 너무 봐줬나…!", + 3: "뭐…뭐라고!?" + }, + }, "galactic_grunt": { "encounter": { 1: "갤럭시단을 방해하지 마!" @@ -415,6 +451,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "사격 중지…… " }, }, + "galactic_admin": { + "encounter": { + 1: "나는 갤럭시단에 있는 간부 중의 한 명.", + 2: "갤럭시단을 방해한다면 일말의 가능성도 모두 제거한다!!", + 3: "왜 그래? 설마 떨고 있는 거야?" + }, + "victory": { + 1: "설마! 내가 졌다고!? 건방진 아이로구나!!", + 2: "…역시 강해!", + 3: "어린아이에게 지다니… 방심이란 무섭구나." + }, + }, "plasma_grunt": { "encounter": { 1: "다른 생각을 가진사람들은 용납하지 않겠다!" @@ -423,6 +471,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "플라-스마-!" }, }, + "plasma_sage": { + "encounter": { + 1: "너는 플라스마단에게 있어 불안요소가 될 것이다. 여기서 제거하겠다!", + 2: "이런 이런… 내가 싸워야만 하다니.", + 3: "여기까지 오다니 대단한 트레이너군." + }, + "victory": { + 1: "게치스…", + 2: "그건 그렇고 춥구먼. 나는 떨고 있다. 괴롭지만 살아 있다.", + 3: "흐음. 의외로 똑똑한 트레이너군." + }, + }, "flare_grunt": { "encounter": { 1: "패션이 우리한텐 가장 중요하다고!" @@ -431,6 +491,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "미래가 밝아 보이질 않네." }, }, + "flare_admin": { + "encounter": { + 1: "왔다! 왔구나! 자! 자! 아직 끝나지 않았다!", + 2: "너 강하구나. 에너지를 얼마나 갖고 있지?", + 3: "기다리고 있었어! 너를 조사하겠다. 자 시작한다!" + }, + "victory": { + 1: "강하구나, 너는. 응, 정말 강해, 너는.", + 2: "그렇지만 보스의 꿈이 이루어져 아름다운 세상이 태어날 것이다!", + 3: "굉장하구나 너! 아주 굉장해! 나는 너를 인정하겠다" + }, + }, "rocket_boss_giovanni_1": { "encounter": { 1: "그래서! 여기까지 오다니, 감탄이 절로 나오는군!" diff --git a/src/locales/ko/trainers.ts b/src/locales/ko/trainers.ts index aafe4121442..3a139026448 100644 --- a/src/locales/ko/trainers.ts +++ b/src/locales/ko/trainers.ts @@ -128,21 +128,32 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "로켓단 조무래기", "rocket_grunt_female": "로켓단 조무래기", "rocket_grunts": "로켓단 조무래기들", + "rocket_admin": "로켓단 간부", + "rocket_admin_female": "로켓단 간부", "magma_grunt": "마그마단 조무래기", "magma_grunt_female": "마그마단 조무래기", "magma_grunts": "마그마단 조무래기들", + "magma_admin": "마그마단 간부", + "magma_admin_female": "마그마단 간부", "aqua_grunt": "아쿠아단 조무래기", "aqua_grunt_female": "아쿠아단 조무래기", "aqua_grunts": "아쿠아단 조무래기들", + "aqua_admin": "아쿠아단 간부", + "aqua_admin_female": "아쿠아단 간부", "galactic_grunt": "갤럭시단 조무래기", "galactic_grunt_female": "갤럭시단 조무래기", "galactic_grunts": "갤럭시단 조무래기들", + "galactic_admin": "갤럭시단 간부", + "galactic_admin_female": "갤럭시단 간부", "plasma_grunt": "플라스마단 조무래기", "plasma_grunt_female": "플라스마단 조무래기", "plasma_grunts": "플라스마단 조무래기들", + "plasma_sage": "플라스마단 현인", "flare_grunt": "플레어단 조무래기", "flare_grunt_female": "플레어단 조무래기", "flare_grunts": "플레어단 조무래기들", + "flare_admin": "플레어단 간부", + "flare_admin_female": "플레어단 간부", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index 61a0be25005..32cc46300d5 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -128,21 +128,32 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Recruta da Equipe Rocket", "rocket_grunt_female": "Recruta da Equipe Rocket", "rocket_grunts": "Recrutas da Equipe Rocket", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "Recruta da Equipe Magma", "magma_grunt_female": "Recruta da Equipe Magma", "magma_grunts": "Recrutas da Equipe Magma", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "Recruta da Equipe Aqua", "aqua_grunt_female": "Recruta da Equipe Aqua", "aqua_grunts": "Recrutas da Equipe Aqua", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Recruta da Equipe Galáctica", "galactic_grunt_female": "Recruta da Equipe Galáctica", "galactic_grunts": "Recrutas da Equipe Galáctica", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Recruta da Equipe Plasma", "plasma_grunt_female": "Recruta da Equipe Plasma", "plasma_grunts": "Recrutas da Equipe Plasma", + "plasma_sage": "Plasma Sage", "flare_grunt": "Recruta da Equipe Flare", "flare_grunt_female": "Recruta da Equipe Flare", "flare_grunts": "Recrutas da Equipe Flare", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/zh_CN/dialogue.ts b/src/locales/zh_CN/dialogue.ts index 6afbcd71064..50d6c5f4333 100644 --- a/src/locales/zh_CN/dialogue.ts +++ b/src/locales/zh_CN/dialogue.ts @@ -390,6 +390,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "好讨厌的感觉啊!" }, }, + "rocket_admin": { + "encounter": { + 1: "Oh? You managed to get this far? You must be quite the trainer.", + 2: "That's quite enough of you playing hero, kid.", + 3: "I'll show you how scary an angry adult can be!" + }, + "victory": { + 1: "No! Forgive me Giovanni!", + 2: "How could this be?", + 3: "Urgh... You were too strong..." + }, + }, "magma_grunt": { "encounter": { 1: "如果你挡在熔岩队路上,那就别指望我们手下留情!" @@ -398,6 +410,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "哈?我输了?!" }, }, + "magma_admin": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: "Hehehe... So I lost...", + 2: "You're disgustingly strong!", + 3: "Ahahaha! Ouch!" + }, + }, "aqua_grunt": { "encounter": { 1: "即使是小孩,如果要和海洋队作对,也别指望我们手下留情!" @@ -406,6 +430,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "你在开玩笑吧?" }, }, + "aqua_admin": { + "encounter": { + 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", + 2: "Hahn? What's this? Who's this spoiled brat?", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "So I lost too...", + 2: "Ahhh?! Did I go too easy on you?!", + 3: "Wh-what was that?" + }, + }, "galactic_grunt": { "encounter": { 1: "别惹银河队!" @@ -414,6 +450,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "停机了…" }, }, + "galactic_admin": { + "encounter": { + 1: "I'm one of Team Galactic's Commanders.", + 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", + 3: "What's the matter? Don't tell me you're shaking?" + }, + "victory": { + 1: "This can't be?! I lost?! You... you uppity brat!", + 2: "You, my friend, are tough!", + 3: "Losing to some child... Being careless cost me too much." + }, + }, "plasma_grunt": { "encounter": { 1: "异端不共戴天!" @@ -422,6 +470,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "等离子子子子子子!" }, }, + "plasma_sage": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here!", + 2: "Oh, for crying out loud... I didn't expect to have to fight!", + 3: "You're an impressive Trainer to have made it this far." + }, + "victory": { + 1: "Ghetsis...", + 2: "It's bitter cold. I'm shivering. I'm suffering.", + 3: "Hmph. You're a smarter Trainer than I expected." + }, + }, "flare_grunt": { "encounter": { 1: "时尚最重要!" @@ -430,6 +490,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "未来一片黑暗啊…" }, }, + "flare_admin": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "You're quite strong. Oh yes-very strong, indeed.", + 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + }, + }, "rocket_boss_giovanni_1": { "encounter": { 1: "我不得不说,能来到这里,你的确很不简单!" diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index e06f2afe2ec..1d32fdf6e02 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -128,21 +128,32 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "火箭队手下", "rocket_grunt_female": "火箭队手下", "rocket_grunts": "火箭队手下们", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "熔岩队手下", "magma_grunt_female": "熔岩队手下", "magma_grunts": "熔岩队手下们", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "海洋队手下", "aqua_grunt_female": "海洋队手下", "aqua_grunts": "海洋队手下们", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "银河队手下", "galactic_grunt_female": "银河队手下", "galactic_grunts": "银河队手下们", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "等离子队手下", "plasma_grunt_female": "等离子队手下", "plasma_grunts": "等离子队手下们", + "plasma_sage": "Plasma Sage", "flare_grunt": "闪焰队手下", "flare_grunt_female": "闪焰队手下", "flare_grunts": "闪焰队手下们", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion diff --git a/src/locales/zh_TW/dialogue.ts b/src/locales/zh_TW/dialogue.ts index 0823236bc84..530906eda5b 100644 --- a/src/locales/zh_TW/dialogue.ts +++ b/src/locales/zh_TW/dialogue.ts @@ -390,6 +390,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, + "rocket_admin": { + "encounter": { + 1: "Oh? You managed to get this far? You must be quite the trainer.", + 2: "That's quite enough of you playing hero, kid.", + 3: "I'll show you how scary an angry adult can be!" + }, + "victory": { + 1: "No! Forgive me Giovanni!", + 2: "How could this be?", + 3: "Urgh... You were too strong..." + }, + }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, don’t expect any mercy!" @@ -398,6 +410,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, + "magma_admin": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: "Hehehe... So I lost...", + 2: "You're disgustingly strong!", + 3: "Ahahaha! Ouch!" + }, + }, "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -406,6 +430,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, + "aqua_admin": { + "encounter": { + 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", + 2: "Hahn? What's this? Who's this spoiled brat?", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "So I lost too...", + 2: "Ahhh?! Did I go too easy on you?!", + 3: "Wh-what was that?" + }, + }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -414,6 +450,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, + "galactic_admin": { + "encounter": { + 1: "I'm one of Team Galactic's Commanders.", + 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", + 3: "What's the matter? Don't tell me you're shaking?" + }, + "victory": { + 1: "This can't be?! I lost?! You... you uppity brat!", + 2: "You, my friend, are tough!", + 3: "Losing to some child... Being careless cost me too much." + }, + }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -422,6 +470,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, + "plasma_sage": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here!", + 2: "Oh, for crying out loud... I didn't expect to have to fight!", + 3: "You're an impressive Trainer to have made it this far." + }, + "victory": { + 1: "Ghetsis...", + 2: "It's bitter cold. I'm shivering. I'm suffering.", + 3: "Hmph. You're a smarter Trainer than I expected." + }, + }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -430,6 +490,18 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, + "flare_admin": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "You're quite strong. Oh yes-very strong, indeed.", + 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + }, + }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" diff --git a/src/locales/zh_TW/trainers.ts b/src/locales/zh_TW/trainers.ts index 2a6c3eac662..0efae11bbea 100644 --- a/src/locales/zh_TW/trainers.ts +++ b/src/locales/zh_TW/trainers.ts @@ -120,21 +120,32 @@ export const trainerClasses: SimpleTranslationEntries = { "workers": "工人組合", "youngster": "短褲小子", "rocket_grunts": "火箭队手下們", + "rocket_admin": "Rocket Admin", + "rocket_admin_female": "Rocket Admin", "magma_grunt": "熔岩队手下", "magma_grunt_female": "熔岩队手下", "magma_grunts": "熔岩队手下們", + "magma_admin": "Magma Admin", + "magma_admin_female": "Magma Admin", "aqua_grunt": "海洋队手下", "aqua_grunt_female": "海洋队手下", "aqua_grunts": "海洋队手下們", + "aqua_admin": "Aqua Admin", + "aqua_admin_female": "Aqua Admin", "galactic_grunt": "银河队手下", "galactic_grunt_female": "银河队手下", "galactic_grunts": "银河队手下們", + "galactic_admin": "Galactic Admin", + "galactic_admin_female": "Galactic Admin", "plasma_grunt": "等离子队手下", "plasma_grunt_female": "等离子队手下", "plasma_grunts": "等离子队手下們", + "plasma_sage": "Plasma Sage", "flare_grunt": "闪焰队手下", "flare_grunt_female": "闪焰队手下", "flare_grunts": "闪焰队手下們", + "flare_admin": "Flare Admin", + "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion From 10aa85e9db71f477ebf38dc0babc51a6d60e625e Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sat, 3 Aug 2024 15:04:57 -0700 Subject: [PATCH 26/33] Fix name of files for Aqua Admin (M) (#3323) --- .../trainer/{aqua_admin.json => aqua_admin_m.json} | 2 +- .../trainer/{aqua_admin.png => aqua_admin_m.png} | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename public/images/trainer/{aqua_admin.json => aqua_admin_m.json} (95%) rename public/images/trainer/{aqua_admin.png => aqua_admin_m.png} (100%) diff --git a/public/images/trainer/aqua_admin.json b/public/images/trainer/aqua_admin_m.json similarity index 95% rename from public/images/trainer/aqua_admin.json rename to public/images/trainer/aqua_admin_m.json index 507fe556ef1..f52412623cc 100644 --- a/public/images/trainer/aqua_admin.json +++ b/public/images/trainer/aqua_admin_m.json @@ -1,7 +1,7 @@ { "textures": [ { - "image": "aqua_admin.png", + "image": "aqua_admin_m.png", "format": "RGBA8888", "size": { "w": 80, diff --git a/public/images/trainer/aqua_admin.png b/public/images/trainer/aqua_admin_m.png similarity index 100% rename from public/images/trainer/aqua_admin.png rename to public/images/trainer/aqua_admin_m.png From 42d00e208e3a88de453361fdf5516bb477480a64 Mon Sep 17 00:00:00 2001 From: Frederico Santos Date: Sun, 4 Aug 2024 04:09:06 +0100 Subject: [PATCH 27/33] Revert "[Bug] fixed switch out bug when fainted single -> double (#3288)" (#3330) This reverts commit 89d38a3b6bae56d8e4e86a29ddad33908a9b3b56. --- src/phases.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/phases.ts b/src/phases.ts index 14c8e53aa73..7e2d8058aef 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -4462,10 +4462,9 @@ export class SwitchPhase extends BattlePhase { start() { super.start(); - const availablePartyMembers = this.scene.getParty().filter(p => !p.isFainted()); // Skip modal switch if impossible - if (this.isModal && (!availablePartyMembers.filter(p => !p.isActive(true)).length || (!this.scene.currentBattle.started && availablePartyMembers.length === 1))) { + if (this.isModal && !this.scene.getParty().filter(p => p.isAllowedInBattle() && !p.isActive(true)).length) { return super.end(); } @@ -4475,7 +4474,7 @@ export class SwitchPhase extends BattlePhase { } // Override field index to 0 in case of double battle where 2/3 remaining legal party members fainted at once - const fieldIndex = this.scene.currentBattle.getBattlerCount() === 1 || availablePartyMembers.length > 1 ? this.fieldIndex : 0; + const fieldIndex = this.scene.currentBattle.getBattlerCount() === 1 || this.scene.getParty().filter(p => p.isAllowedInBattle()).length > 1 ? this.fieldIndex : 0; this.scene.ui.setMode(Mode.PARTY, this.isModal ? PartyUiMode.FAINT_SWITCH : PartyUiMode.POST_BATTLE_SWITCH, fieldIndex, (slotIndex: integer, option: PartyOption) => { if (slotIndex >= this.scene.currentBattle.getBattlerCount() && slotIndex < 6) { From fdcf21592b82fca783aaa0a42cde061736fab027 Mon Sep 17 00:00:00 2001 From: damocleas Date: Sat, 3 Aug 2024 23:09:35 -0400 Subject: [PATCH 28/33] Update pokemon-species.ts (#3329) --- src/data/pokemon-species.ts | 502 ++++++++++++++++++------------------ 1 file changed, 251 insertions(+), 251 deletions(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 1a16cdd41b9..c65007a6580 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -2682,71 +2682,71 @@ export const speciesStarters = { [Species.BULBASAUR]: 3, [Species.CHARMANDER]: 3, [Species.SQUIRTLE]: 3, - [Species.CATERPIE]: 1, + [Species.CATERPIE]: 2, [Species.WEEDLE]: 1, - [Species.PIDGEY]: 2, + [Species.PIDGEY]: 1, [Species.RATTATA]: 1, - [Species.SPEAROW]: 2, + [Species.SPEAROW]: 1, [Species.EKANS]: 2, - [Species.PIKACHU]: 4, + [Species.PIKACHU]: 3, [Species.SANDSHREW]: 2, [Species.NIDORAN_F]: 3, [Species.NIDORAN_M]: 3, - [Species.CLEFAIRY]: 4, + [Species.CLEFAIRY]: 3, [Species.VULPIX]: 3, - [Species.JIGGLYPUFF]: 4, - [Species.ZUBAT]: 2, - [Species.ODDISH]: 2, - [Species.PARAS]: 1, + [Species.JIGGLYPUFF]: 2, + [Species.ZUBAT]: 3, + [Species.ODDISH]: 3, + [Species.PARAS]: 2, [Species.VENONAT]: 2, - [Species.DIGLETT]: 3, - [Species.MEOWTH]: 4, + [Species.DIGLETT]: 2, + [Species.MEOWTH]: 3, [Species.PSYDUCK]: 2, [Species.MANKEY]: 4, [Species.GROWLITHE]: 4, - [Species.POLIWAG]: 3, - [Species.ABRA]: 3, + [Species.POLIWAG]: 2, + [Species.ABRA]: 4, [Species.MACHOP]: 3, - [Species.BELLSPROUT]: 3, + [Species.BELLSPROUT]: 2, [Species.TENTACOOL]: 3, [Species.GEODUDE]: 3, - [Species.PONYTA]: 3, + [Species.PONYTA]: 2, [Species.SLOWPOKE]: 3, - [Species.MAGNEMITE]: 3, - [Species.FARFETCHD]: 4, - [Species.DODUO]: 4, - [Species.SEEL]: 3, - [Species.GRIMER]: 3, - [Species.SHELLDER]: 4, - [Species.GASTLY]: 3, - [Species.ONIX]: 4, - [Species.DROWZEE]: 3, - [Species.KRABBY]: 2, + [Species.MAGNEMITE]: 4, + [Species.FARFETCHD]: 2, + [Species.DODUO]: 3, + [Species.SEEL]: 1, + [Species.GRIMER]: 2, + [Species.SHELLDER]: 5, + [Species.GASTLY]: 4, + [Species.ONIX]: 3, + [Species.DROWZEE]: 2, + [Species.KRABBY]: 3, [Species.VOLTORB]: 2, - [Species.EXEGGCUTE]: 4, + [Species.EXEGGCUTE]: 3, [Species.CUBONE]: 3, - [Species.HITMONLEE]: 5, - [Species.HITMONCHAN]: 5, - [Species.LICKITUNG]: 5, - [Species.KOFFING]: 3, + [Species.HITMONLEE]: 4, + [Species.HITMONCHAN]: 4, + [Species.LICKITUNG]: 3, + [Species.KOFFING]: 2, [Species.RHYHORN]: 3, - [Species.CHANSEY]: 5, + [Species.CHANSEY]: 3, [Species.TANGELA]: 3, - [Species.KANGASKHAN]: 5, - [Species.HORSEA]: 4, - [Species.GOLDEEN]: 3, - [Species.STARYU]: 4, - [Species.MR_MIME]: 4, + [Species.KANGASKHAN]: 4, + [Species.HORSEA]: 3, + [Species.GOLDEEN]: 2, + [Species.STARYU]: 3, + [Species.MR_MIME]: 3, [Species.SCYTHER]: 5, - [Species.JYNX]: 4, - [Species.ELECTABUZZ]: 5, - [Species.MAGMAR]: 5, + [Species.JYNX]: 3, + [Species.ELECTABUZZ]: 4, + [Species.MAGMAR]: 4, [Species.PINSIR]: 4, - [Species.TAUROS]: 5, - [Species.MAGIKARP]: 3, - [Species.LAPRAS]: 5, + [Species.TAUROS]: 4, + [Species.MAGIKARP]: 4, + [Species.LAPRAS]: 4, [Species.DITTO]: 2, - [Species.EEVEE]: 4, + [Species.EEVEE]: 3, [Species.PORYGON]: 4, [Species.OMANYTE]: 3, [Species.KABUTO]: 3, @@ -2759,57 +2759,57 @@ export const speciesStarters = { [Species.MEWTWO]: 8, [Species.MEW]: 6, - [Species.CHIKORITA]: 3, + [Species.CHIKORITA]: 2, [Species.CYNDAQUIL]: 3, [Species.TOTODILE]: 3, [Species.SENTRET]: 1, - [Species.HOOTHOOT]: 1, + [Species.HOOTHOOT]: 2, [Species.LEDYBA]: 1, - [Species.SPINARAK]: 1, - [Species.CHINCHOU]: 3, - [Species.PICHU]: 3, - [Species.CLEFFA]: 3, - [Species.IGGLYBUFF]: 3, + [Species.SPINARAK]: 2, + [Species.CHINCHOU]: 2, + [Species.PICHU]: 2, + [Species.CLEFFA]: 2, + [Species.IGGLYBUFF]: 1, [Species.TOGEPI]: 3, [Species.NATU]: 2, - [Species.MAREEP]: 3, + [Species.MAREEP]: 2, [Species.MARILL]: 4, - [Species.SUDOWOODO]: 5, - [Species.HOPPIP]: 1, - [Species.AIPOM]: 3, + [Species.SUDOWOODO]: 3, + [Species.HOPPIP]: 2, + [Species.AIPOM]: 2, [Species.SUNKERN]: 1, [Species.YANMA]: 3, [Species.WOOPER]: 2, - [Species.MURKROW]: 4, - [Species.MISDREAVUS]: 3, + [Species.MURKROW]: 3, + [Species.MISDREAVUS]: 2, [Species.UNOWN]: 1, - [Species.WOBBUFFET]: 4, - [Species.GIRAFARIG]: 4, + [Species.WOBBUFFET]: 2, + [Species.GIRAFARIG]: 3, [Species.PINECO]: 2, - [Species.DUNSPARCE]: 4, - [Species.GLIGAR]: 4, - [Species.SNUBBULL]: 3, + [Species.DUNSPARCE]: 3, + [Species.GLIGAR]: 3, + [Species.SNUBBULL]: 2, [Species.QWILFISH]: 3, - [Species.SHUCKLE]: 4, + [Species.SHUCKLE]: 3, [Species.HERACROSS]: 5, [Species.SNEASEL]: 4, [Species.TEDDIURSA]: 4, [Species.SLUGMA]: 2, [Species.SWINUB]: 3, - [Species.CORSOLA]: 3, - [Species.REMORAID]: 3, - [Species.DELIBIRD]: 3, - [Species.MANTINE]: 4, - [Species.SKARMORY]: 5, - [Species.HOUNDOUR]: 4, + [Species.CORSOLA]: 2, + [Species.REMORAID]: 2, + [Species.DELIBIRD]: 2, + [Species.MANTINE]: 3, + [Species.SKARMORY]: 4, + [Species.HOUNDOUR]: 3, [Species.PHANPY]: 3, - [Species.STANTLER]: 4, - [Species.SMEARGLE]: 3, - [Species.TYROGUE]: 4, - [Species.SMOOCHUM]: 3, - [Species.ELEKID]: 4, - [Species.MAGBY]: 4, - [Species.MILTANK]: 5, + [Species.STANTLER]: 3, + [Species.SMEARGLE]: 1, + [Species.TYROGUE]: 2, + [Species.SMOOCHUM]: 2, + [Species.ELEKID]: 3, + [Species.MAGBY]: 3, + [Species.MILTANK]: 4, [Species.RAIKOU]: 6, [Species.ENTEI]: 6, [Species.SUICUNE]: 6, @@ -2825,62 +2825,62 @@ export const speciesStarters = { [Species.ZIGZAGOON]: 2, [Species.WURMPLE]: 1, [Species.LOTAD]: 3, - [Species.SEEDOT]: 3, + [Species.SEEDOT]: 2, [Species.TAILLOW]: 3, - [Species.WINGULL]: 3, + [Species.WINGULL]: 2, [Species.RALTS]: 3, [Species.SURSKIT]: 2, [Species.SHROOMISH]: 3, [Species.SLAKOTH]: 4, [Species.NINCADA]: 4, - [Species.WHISMUR]: 3, + [Species.WHISMUR]: 2, [Species.MAKUHITA]: 3, - [Species.AZURILL]: 3, - [Species.NOSEPASS]: 3, - [Species.SKITTY]: 3, - [Species.SABLEYE]: 3, - [Species.MAWILE]: 5, + [Species.AZURILL]: 4, + [Species.NOSEPASS]: 2, + [Species.SKITTY]: 1, + [Species.SABLEYE]: 2, + [Species.MAWILE]: 3, [Species.ARON]: 3, - [Species.MEDITITE]: 4, - [Species.ELECTRIKE]: 3, + [Species.MEDITITE]: 3, + [Species.ELECTRIKE]: 2, [Species.PLUSLE]: 2, [Species.MINUN]: 2, [Species.VOLBEAT]: 2, [Species.ILLUMISE]: 2, - [Species.ROSELIA]: 4, - [Species.GULPIN]: 3, + [Species.ROSELIA]: 3, + [Species.GULPIN]: 1, [Species.CARVANHA]: 3, - [Species.WAILMER]: 3, - [Species.NUMEL]: 3, - [Species.TORKOAL]: 4, - [Species.SPOINK]: 3, - [Species.SPINDA]: 2, - [Species.TRAPINCH]: 4, - [Species.CACNEA]: 3, - [Species.SWABLU]: 3, - [Species.ZANGOOSE]: 5, - [Species.SEVIPER]: 4, - [Species.LUNATONE]: 4, - [Species.SOLROCK]: 4, - [Species.BARBOACH]: 3, + [Species.WAILMER]: 2, + [Species.NUMEL]: 2, + [Species.TORKOAL]: 3, + [Species.SPOINK]: 2, + [Species.SPINDA]: 1, + [Species.TRAPINCH]: 3, + [Species.CACNEA]: 2, + [Species.SWABLU]: 2, + [Species.ZANGOOSE]: 4, + [Species.SEVIPER]: 3, + [Species.LUNATONE]: 3, + [Species.SOLROCK]: 3, + [Species.BARBOACH]: 2, [Species.CORPHISH]: 3, - [Species.BALTOY]: 3, + [Species.BALTOY]: 2, [Species.LILEEP]: 3, [Species.ANORITH]: 3, [Species.FEEBAS]: 4, - [Species.CASTFORM]: 2, - [Species.KECLEON]: 4, - [Species.SHUPPET]: 3, + [Species.CASTFORM]: 1, + [Species.KECLEON]: 2, + [Species.SHUPPET]: 2, [Species.DUSKULL]: 3, - [Species.TROPIUS]: 5, - [Species.CHIMECHO]: 4, - [Species.ABSOL]: 5, - [Species.WYNAUT]: 3, - [Species.SNORUNT]: 3, - [Species.SPHEAL]: 3, + [Species.TROPIUS]: 3, + [Species.CHIMECHO]: 3, + [Species.ABSOL]: 4, + [Species.WYNAUT]: 2, + [Species.SNORUNT]: 2, + [Species.SPHEAL]: 2, [Species.CLAMPERL]: 3, - [Species.RELICANTH]: 4, - [Species.LUVDISC]: 2, + [Species.RELICANTH]: 3, + [Species.LUVDISC]: 1, [Species.BAGON]: 4, [Species.BELDUM]: 4, [Species.REGIROCK]: 6, @@ -2898,39 +2898,39 @@ export const speciesStarters = { [Species.CHIMCHAR]: 3, [Species.PIPLUP]: 3, [Species.STARLY]: 3, - [Species.BIDOOF]: 2, + [Species.BIDOOF]: 3, [Species.KRICKETOT]: 1, - [Species.SHINX]: 3, + [Species.SHINX]: 2, [Species.BUDEW]: 3, [Species.CRANIDOS]: 3, [Species.SHIELDON]: 3, - [Species.BURMY]: 1, + [Species.BURMY]: 2, [Species.COMBEE]: 2, - [Species.PACHIRISU]: 3, - [Species.BUIZEL]: 3, - [Species.CHERUBI]: 3, + [Species.PACHIRISU]: 2, + [Species.BUIZEL]: 2, + [Species.CHERUBI]: 1, [Species.SHELLOS]: 3, - [Species.DRIFLOON]: 3, - [Species.BUNEARY]: 3, - [Species.GLAMEOW]: 3, - [Species.CHINGLING]: 3, - [Species.STUNKY]: 3, + [Species.DRIFLOON]: 2, + [Species.BUNEARY]: 2, + [Species.GLAMEOW]: 2, + [Species.CHINGLING]: 2, + [Species.STUNKY]: 2, [Species.BRONZOR]: 3, - [Species.BONSLY]: 4, - [Species.MIME_JR]: 3, - [Species.HAPPINY]: 4, - [Species.CHATOT]: 4, - [Species.SPIRITOMB]: 5, + [Species.BONSLY]: 2, + [Species.MIME_JR]: 2, + [Species.HAPPINY]: 2, + [Species.CHATOT]: 2, + [Species.SPIRITOMB]: 4, [Species.GIBLE]: 4, [Species.MUNCHLAX]: 4, - [Species.RIOLU]: 4, + [Species.RIOLU]: 3, [Species.HIPPOPOTAS]: 3, [Species.SKORUPI]: 3, - [Species.CROAGUNK]: 3, - [Species.CARNIVINE]: 4, - [Species.FINNEON]: 3, - [Species.MANTYKE]: 3, - [Species.SNOVER]: 3, + [Species.CROAGUNK]: 2, + [Species.CARNIVINE]: 2, + [Species.FINNEON]: 1, + [Species.MANTYKE]: 2, + [Species.SNOVER]: 2, [Species.ROTOM]: 5, [Species.UXIE]: 6, [Species.MESPRIT]: 6, @@ -2951,70 +2951,70 @@ export const speciesStarters = { [Species.SNIVY]: 3, [Species.TEPIG]: 3, [Species.OSHAWOTT]: 3, - [Species.PATRAT]: 2, + [Species.PATRAT]: 1, [Species.LILLIPUP]: 3, - [Species.PURRLOIN]: 3, - [Species.PANSAGE]: 3, - [Species.PANSEAR]: 3, - [Species.PANPOUR]: 3, - [Species.MUNNA]: 3, - [Species.PIDOVE]: 2, - [Species.BLITZLE]: 3, + [Species.PURRLOIN]: 2, + [Species.PANSAGE]: 2, + [Species.PANSEAR]: 2, + [Species.PANPOUR]: 2, + [Species.MUNNA]: 2, + [Species.PIDOVE]: 1, + [Species.BLITZLE]: 2, [Species.ROGGENROLA]: 3, [Species.WOOBAT]: 3, [Species.DRILBUR]: 4, - [Species.AUDINO]: 4, - [Species.TIMBURR]: 3, + [Species.AUDINO]: 3, + [Species.TIMBURR]: 4, [Species.TYMPOLE]: 3, - [Species.THROH]: 5, - [Species.SAWK]: 5, - [Species.SEWADDLE]: 3, + [Species.THROH]: 4, + [Species.SAWK]: 4, + [Species.SEWADDLE]: 2, [Species.VENIPEDE]: 3, [Species.COTTONEE]: 3, [Species.PETILIL]: 3, [Species.BASCULIN]: 4, - [Species.SANDILE]: 3, + [Species.SANDILE]: 4, [Species.DARUMAKA]: 4, - [Species.MARACTUS]: 4, - [Species.DWEBBLE]: 3, + [Species.MARACTUS]: 2, + [Species.DWEBBLE]: 2, [Species.SCRAGGY]: 3, - [Species.SIGILYPH]: 5, + [Species.SIGILYPH]: 4, [Species.YAMASK]: 3, - [Species.TIRTOUGA]: 4, - [Species.ARCHEN]: 4, - [Species.TRUBBISH]: 3, + [Species.TIRTOUGA]: 3, + [Species.ARCHEN]: 3, + [Species.TRUBBISH]: 2, [Species.ZORUA]: 3, [Species.MINCCINO]: 3, [Species.GOTHITA]: 3, - [Species.SOLOSIS]: 3, - [Species.DUCKLETT]: 3, + [Species.SOLOSIS]: 4, + [Species.DUCKLETT]: 2, [Species.VANILLITE]: 3, - [Species.DEERLING]: 3, - [Species.EMOLGA]: 3, + [Species.DEERLING]: 2, + [Species.EMOLGA]: 2, [Species.KARRABLAST]: 3, - [Species.FOONGUS]: 3, + [Species.FOONGUS]: 2, [Species.FRILLISH]: 3, [Species.ALOMOMOLA]: 4, [Species.JOLTIK]: 3, [Species.FERROSEED]: 3, [Species.KLINK]: 3, - [Species.TYNAMO]: 3, + [Species.TYNAMO]: 2, [Species.ELGYEM]: 3, [Species.LITWICK]: 3, [Species.AXEW]: 4, - [Species.CUBCHOO]: 3, - [Species.CRYOGONAL]: 5, - [Species.SHELMET]: 3, - [Species.STUNFISK]: 4, + [Species.CUBCHOO]: 2, + [Species.CRYOGONAL]: 4, + [Species.SHELMET]: 2, + [Species.STUNFISK]: 3, [Species.MIENFOO]: 3, - [Species.DRUDDIGON]: 5, + [Species.DRUDDIGON]: 4, [Species.GOLETT]: 3, [Species.PAWNIARD]: 4, - [Species.BOUFFALANT]: 5, + [Species.BOUFFALANT]: 4, [Species.RUFFLET]: 3, [Species.VULLABY]: 3, - [Species.HEATMOR]: 5, - [Species.DURANT]: 5, + [Species.HEATMOR]: 3, + [Species.DURANT]: 4, [Species.DEINO]: 4, [Species.LARVESTA]: 4, [Species.COBALION]: 6, @@ -3032,77 +3032,77 @@ export const speciesStarters = { [Species.CHESPIN]: 3, [Species.FENNEKIN]: 3, - [Species.FROAKIE]: 3, - [Species.BUNNELBY]: 2, + [Species.FROAKIE]: 4, + [Species.BUNNELBY]: 3, [Species.FLETCHLING]: 3, - [Species.SCATTERBUG]: 1, - [Species.LITLEO]: 3, + [Species.SCATTERBUG]: 2, + [Species.LITLEO]: 2, [Species.FLABEBE]: 3, - [Species.SKIDDO]: 3, + [Species.SKIDDO]: 2, [Species.PANCHAM]: 3, - [Species.FURFROU]: 4, - [Species.ESPURR]: 3, + [Species.FURFROU]: 3, + [Species.ESPURR]: 2, [Species.HONEDGE]: 4, - [Species.SPRITZEE]: 3, + [Species.SPRITZEE]: 2, [Species.SWIRLIX]: 3, [Species.INKAY]: 3, [Species.BINACLE]: 3, - [Species.SKRELP]: 3, + [Species.SKRELP]: 2, [Species.CLAUNCHER]: 3, [Species.HELIOPTILE]: 3, [Species.TYRUNT]: 3, [Species.AMAURA]: 3, [Species.HAWLUCHA]: 4, - [Species.DEDENNE]: 4, - [Species.CARBINK]: 4, + [Species.DEDENNE]: 2, + [Species.CARBINK]: 2, [Species.GOOMY]: 4, - [Species.KLEFKI]: 4, - [Species.PHANTUMP]: 3, - [Species.PUMPKABOO]: 3, + [Species.KLEFKI]: 3, + [Species.PHANTUMP]: 2, + [Species.PUMPKABOO]: 2, [Species.BERGMITE]: 3, - [Species.NOIBAT]: 4, + [Species.NOIBAT]: 3, [Species.XERNEAS]: 8, [Species.YVELTAL]: 8, [Species.ZYGARDE]: 8, [Species.DIANCIE]: 7, [Species.HOOPA]: 7, [Species.VOLCANION]: 6, - [Species.ETERNAL_FLOETTE]: 5, + [Species.ETERNAL_FLOETTE]: 4, [Species.ROWLET]: 3, [Species.LITTEN]: 3, - [Species.POPPLIO]: 3, - [Species.PIKIPEK]: 3, + [Species.POPPLIO]: 4, + [Species.PIKIPEK]: 2, [Species.YUNGOOS]: 2, - [Species.GRUBBIN]: 2, - [Species.CRABRAWLER]: 4, + [Species.GRUBBIN]: 3, + [Species.CRABRAWLER]: 3, [Species.ORICORIO]: 3, [Species.CUTIEFLY]: 3, [Species.ROCKRUFF]: 3, - [Species.WISHIWASHI]: 3, - [Species.MAREANIE]: 3, + [Species.WISHIWASHI]: 2, + [Species.MAREANIE]: 2, [Species.MUDBRAY]: 3, [Species.DEWPIDER]: 3, - [Species.FOMANTIS]: 3, - [Species.MORELULL]: 3, + [Species.FOMANTIS]: 2, + [Species.MORELULL]: 2, [Species.SALANDIT]: 3, [Species.STUFFUL]: 3, [Species.BOUNSWEET]: 3, [Species.COMFEY]: 4, - [Species.ORANGURU]: 5, - [Species.PASSIMIAN]: 5, + [Species.ORANGURU]: 4, + [Species.PASSIMIAN]: 4, [Species.WIMPOD]: 3, [Species.SANDYGAST]: 3, - [Species.PYUKUMUKU]: 3, + [Species.PYUKUMUKU]: 2, [Species.TYPE_NULL]: 5, - [Species.MINIOR]: 5, - [Species.KOMALA]: 5, - [Species.TURTONATOR]: 5, - [Species.TOGEDEMARU]: 4, - [Species.MIMIKYU]: 5, - [Species.BRUXISH]: 5, - [Species.DRAMPA]: 5, - [Species.DHELMISE]: 5, + [Species.MINIOR]: 4, + [Species.KOMALA]: 3, + [Species.TURTONATOR]: 4, + [Species.TOGEDEMARU]: 3, + [Species.MIMIKYU]: 4, + [Species.BRUXISH]: 4, + [Species.DRAMPA]: 4, + [Species.DHELMISE]: 4, [Species.JANGMO_O]: 4, [Species.TAPU_KOKO]: 6, [Species.TAPU_LELE]: 6, @@ -3124,49 +3124,49 @@ export const speciesStarters = { [Species.BLACEPHALON]: 7, [Species.ZERAORA]: 6, [Species.MELTAN]: 6, - [Species.ALOLA_RATTATA]: 2, - [Species.ALOLA_SANDSHREW]: 4, - [Species.ALOLA_VULPIX]: 4, - [Species.ALOLA_DIGLETT]: 3, - [Species.ALOLA_MEOWTH]: 4, + [Species.ALOLA_RATTATA]: 1, + [Species.ALOLA_SANDSHREW]: 2, + [Species.ALOLA_VULPIX]: 3, + [Species.ALOLA_DIGLETT]: 2, + [Species.ALOLA_MEOWTH]: 3, [Species.ALOLA_GEODUDE]: 3, [Species.ALOLA_GRIMER]: 3, - [Species.GROOKEY]: 3, - [Species.SCORBUNNY]: 3, - [Species.SOBBLE]: 3, + [Species.GROOKEY]: 4, + [Species.SCORBUNNY]: 4, + [Species.SOBBLE]: 4, [Species.SKWOVET]: 2, - [Species.ROOKIDEE]: 4, + [Species.ROOKIDEE]: 3, [Species.BLIPBUG]: 2, - [Species.NICKIT]: 3, - [Species.GOSSIFLEUR]: 3, - [Species.WOOLOO]: 3, + [Species.NICKIT]: 1, + [Species.GOSSIFLEUR]: 2, + [Species.WOOLOO]: 2, [Species.CHEWTLE]: 3, - [Species.YAMPER]: 3, + [Species.YAMPER]: 2, [Species.ROLYCOLY]: 3, - [Species.APPLIN]: 4, + [Species.APPLIN]: 3, [Species.SILICOBRA]: 3, [Species.CRAMORANT]: 3, [Species.ARROKUDA]: 3, [Species.TOXEL]: 3, [Species.SIZZLIPEDE]: 3, - [Species.CLOBBOPUS]: 3, + [Species.CLOBBOPUS]: 2, [Species.SINISTEA]: 3, - [Species.HATENNA]: 4, + [Species.HATENNA]: 3, [Species.IMPIDIMP]: 3, [Species.MILCERY]: 3, [Species.FALINKS]: 4, [Species.PINCURCHIN]: 3, [Species.SNOM]: 3, - [Species.STONJOURNER]: 4, - [Species.EISCUE]: 4, - [Species.INDEEDEE]: 3, + [Species.STONJOURNER]: 3, + [Species.EISCUE]: 3, + [Species.INDEEDEE]: 4, [Species.MORPEKO]: 3, - [Species.CUFANT]: 4, + [Species.CUFANT]: 3, [Species.DRACOZOLT]: 5, - [Species.ARCTOZOLT]: 5, + [Species.ARCTOZOLT]: 4, [Species.DRACOVISH]: 5, - [Species.ARCTOVISH]: 5, + [Species.ARCTOVISH]: 4, [Species.DURALUDON]: 5, [Species.DREEPY]: 4, [Species.ZACIAN]: 9, @@ -3179,67 +3179,67 @@ export const speciesStarters = { [Species.GLASTRIER]: 6, [Species.SPECTRIER]: 7, [Species.CALYREX]: 8, - [Species.GALAR_MEOWTH]: 4, - [Species.GALAR_PONYTA]: 4, + [Species.GALAR_MEOWTH]: 3, + [Species.GALAR_PONYTA]: 2, [Species.GALAR_SLOWPOKE]: 3, - [Species.GALAR_FARFETCHD]: 5, - [Species.GALAR_CORSOLA]: 4, + [Species.GALAR_FARFETCHD]: 3, + [Species.GALAR_CORSOLA]: 3, [Species.GALAR_ZIGZAGOON]: 3, [Species.GALAR_DARUMAKA]: 4, [Species.GALAR_YAMASK]: 3, - [Species.GALAR_STUNFISK]: 4, - [Species.GALAR_MR_MIME]: 5, + [Species.GALAR_STUNFISK]: 2, + [Species.GALAR_MR_MIME]: 3, [Species.GALAR_ARTICUNO]: 6, [Species.GALAR_ZAPDOS]: 6, [Species.GALAR_MOLTRES]: 6, [Species.HISUI_GROWLITHE]: 4, [Species.HISUI_VOLTORB]: 3, [Species.HISUI_QWILFISH]: 4, - [Species.HISUI_SNEASEL]: 4, - [Species.HISUI_ZORUA]: 4, + [Species.HISUI_SNEASEL]: 5, + [Species.HISUI_ZORUA]: 3, [Species.ENAMORUS]: 7, - [Species.SPRIGATITO]: 3, - [Species.FUECOCO]: 3, - [Species.QUAXLY]: 3, + [Species.SPRIGATITO]: 4, + [Species.FUECOCO]: 4, + [Species.QUAXLY]: 4, [Species.LECHONK]: 2, [Species.TAROUNTULA]: 1, [Species.NYMBLE]: 3, - [Species.PAWMI]: 3, + [Species.PAWMI]: 4, [Species.TANDEMAUS]: 4, - [Species.FIDOUGH]: 3, + [Species.FIDOUGH]: 2, [Species.SMOLIV]: 3, - [Species.SQUAWKABILLY]: 3, + [Species.SQUAWKABILLY]: 2, [Species.NACLI]: 4, [Species.CHARCADET]: 4, [Species.TADBULB]: 3, [Species.WATTREL]: 3, [Species.MASCHIFF]: 3, - [Species.SHROODLE]: 3, + [Species.SHROODLE]: 2, [Species.BRAMBLIN]: 3, [Species.TOEDSCOOL]: 3, - [Species.KLAWF]: 4, + [Species.KLAWF]: 3, [Species.CAPSAKID]: 3, - [Species.RELLOR]: 3, + [Species.RELLOR]: 2, [Species.FLITTLE]: 3, [Species.TINKATINK]: 4, - [Species.WIGLETT]: 3, + [Species.WIGLETT]: 2, [Species.BOMBIRDIER]: 3, - [Species.FINIZEN]: 4, + [Species.FINIZEN]: 3, [Species.VAROOM]: 4, - [Species.CYCLIZAR]: 5, + [Species.CYCLIZAR]: 4, [Species.ORTHWORM]: 4, [Species.GLIMMET]: 4, - [Species.GREAVARD]: 4, + [Species.GREAVARD]: 3, [Species.FLAMIGO]: 4, - [Species.CETODDLE]: 4, + [Species.CETODDLE]: 3, [Species.VELUZA]: 4, - [Species.DONDOZO]: 5, - [Species.TATSUGIRI]: 5, + [Species.DONDOZO]: 4, + [Species.TATSUGIRI]: 4, [Species.GREAT_TUSK]: 6, [Species.SCREAM_TAIL]: 6, [Species.BRUTE_BONNET]: 6, - [Species.FLUTTER_MANE]: 6, + [Species.FLUTTER_MANE]: 7, [Species.SLITHER_WING]: 6, [Species.SANDY_SHOCKS]: 6, [Species.IRON_TREADS]: 6, @@ -3273,7 +3273,7 @@ export const speciesStarters = { [Species.PECHARUNT]: 6, [Species.PALDEA_TAUROS]: 5, [Species.PALDEA_WOOPER]: 3, - [Species.BLOODMOON_URSALUNA]: 7, + [Species.BLOODMOON_URSALUNA]: 6, }; export const noStarterFormKeys: string[] = [ From ca64c4aaf2dfce38e89133f7445a65acf89948ee Mon Sep 17 00:00:00 2001 From: Jacob Knispel Date: Sun, 4 Aug 2024 00:04:59 -0500 Subject: [PATCH 29/33] [Bug] Skip forced switch if the fainted party member has been revived already (#1236) --- src/phases.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/phases.ts b/src/phases.ts index 7e2d8058aef..a38fff8b077 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -4468,6 +4468,10 @@ export class SwitchPhase extends BattlePhase { return super.end(); } + // Skip if the fainted party member has been revived already + if (this.isModal && !this.scene.getParty()[this.fieldIndex].isFainted()) + return super.end(); + // Check if there is any space still in field if (this.isModal && this.scene.getPlayerField().filter(p => p.isAllowedInBattle() && p.isActive(true)).length >= this.scene.currentBattle.getBattlerCount()) { return super.end(); From d8794367512c3423acf717cfea2c7b43dafed427 Mon Sep 17 00:00:00 2001 From: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com> Date: Sun, 4 Aug 2024 01:06:51 -0400 Subject: [PATCH 30/33] [Sprite] Target FormSpriteKey-labelled sprite assets (#3322) --- src/data/pokemon-species.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index c65007a6580..ac79b6223c0 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -301,7 +301,7 @@ export abstract class PokemonSpeciesForm { let variantDataIndex: integer|string = this.speciesId; const species = getPokemonSpecies(this.speciesId); if (species.forms.length > 0) { - formkey = species.forms[formIndex]?.formKey; + formkey = species.forms[formIndex]?.formSpriteKey; if (formkey) { variantDataIndex = `${this.speciesId}-${formkey}`; } From 22349da663001ecc9d58994e6ac89748f65195fc Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+Tempo-anon@users.noreply.github.com> Date: Sun, 4 Aug 2024 01:41:59 -0400 Subject: [PATCH 31/33] Update phases.ts Fixed a linting problem --- src/phases.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/phases.ts b/src/phases.ts index a38fff8b077..3c4d7f1ce44 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -4469,8 +4469,9 @@ export class SwitchPhase extends BattlePhase { } // Skip if the fainted party member has been revived already - if (this.isModal && !this.scene.getParty()[this.fieldIndex].isFainted()) + if (this.isModal && !this.scene.getParty()[this.fieldIndex].isFainted()) { return super.end(); + } // Check if there is any space still in field if (this.isModal && this.scene.getPlayerField().filter(p => p.isAllowedInBattle() && p.isActive(true)).length >= this.scene.currentBattle.getBattlerCount()) { From 0796a9fce8c34ba5a9e788b5a1ab05ea14ff41f5 Mon Sep 17 00:00:00 2001 From: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com> Date: Sun, 4 Aug 2024 08:50:13 +0200 Subject: [PATCH 32/33] [Enhancement] Improvements to starter selection and filtering user experience (#3325) * [filter-ui] Improvements to starter selection and filtering user experience Original messages of 14 squashed commits: * final cleanup and code comments * automatically go to the list of starters when closing filters * FilterBar cleanup. Associate each DropDown with an id and access them through it * reset all filters when creating a new game. Set different default gen filter for challenge mode * start of code cleanup plus some documentation * fix filter bar label coloring for legacy theme * change generation filter default values to be all generations selected * fix navigation between team and filtered Pokemon * add missing localisation keys * first pass at improving navigation between the UI elements * have each filter group handle its default values instead of the filter bar * revamp dropdown class. add possibility to display both a sprite and text label at the same time * groundwork to be able to move around starter ui elements more easily * add hybrid filtering type for Gen and Type filters, clean up implementation for radial type * [loc][ko][zh] localisation of starter ui filters for Chinese and Korean Co-authored-by: Enoch Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> * [loc][de] German translations for the filters Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> --------- Co-authored-by: Enoch Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com> Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> --- src/locales/de/filter-bar.ts | 5 +- src/locales/en/filter-bar.ts | 9 +- src/locales/es/filter-bar.ts | 5 +- src/locales/fr/filter-bar.ts | 11 +- src/locales/it/filter-bar.ts | 9 +- src/locales/ko/filter-bar.ts | 11 +- src/locales/pt_BR/filter-bar.ts | 9 +- src/locales/zh_CN/filter-bar.ts | 9 +- src/locales/zh_TW/filter-bar.ts | 9 +- src/ui/dropdown.ts | 567 ++++++++++++++++++++-------- src/ui/filter-bar.ts | 152 ++++---- src/ui/starter-select-ui-handler.ts | 298 ++++++++++----- 12 files changed, 746 insertions(+), 348 deletions(-) diff --git a/src/locales/de/filter-bar.ts b/src/locales/de/filter-bar.ts index 31c6fee20d4..9c1009171e2 100644 --- a/src/locales/de/filter-bar.ts +++ b/src/locales/de/filter-bar.ts @@ -3,14 +3,17 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "Gen.", "typeFilter": "Typ", + "dexFilter": "Dex.", "unlocksFilter": "Freisch.", - "winFilter": "Abschluss", + "miscFilter": "Sonst.", "sortFilter": "Sort.", "all": "Alle", "normal": "Normal", "uncaught": "Nicht gefangen", + "passive": "Passive", "passiveUnlocked": "Passive freigeschaltet", "passiveLocked": "Passive gesperrt", + "ribbon": "Band", "hasWon": "Hat Klassik-Modus gewonnen", "hasNotWon": "Hat Klassik-Modus nicht gewonnen", "sortByNumber": "Pokédex-Nummer", diff --git a/src/locales/en/filter-bar.ts b/src/locales/en/filter-bar.ts index 60c6ffb1bbc..18b6ba77e21 100644 --- a/src/locales/en/filter-bar.ts +++ b/src/locales/en/filter-bar.ts @@ -3,16 +3,19 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "Gen", "typeFilter": "Type", + "dexFilter": "Dex", "unlocksFilter": "Unlocks", - "winFilter": "Win", + "miscFilter": "Misc", "sortFilter": "Sort", "all": "All", "normal": "Normal", "uncaught": "Uncaught", + "passive": "Passive", "passiveUnlocked": "Passive Unlocked", "passiveLocked": "Passive Locked", - "hasWon": "Yes", - "hasNotWon": "No", + "ribbon": "Ribbon", + "hasWon": "Ribbon - Yes", + "hasNotWon": "Ribbon - No", "sortByNumber": "No.", "sortByCost": "Cost", "sortByCandies": "Candy Count", diff --git a/src/locales/es/filter-bar.ts b/src/locales/es/filter-bar.ts index 50826ba0502..33b60cfa427 100644 --- a/src/locales/es/filter-bar.ts +++ b/src/locales/es/filter-bar.ts @@ -3,14 +3,17 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "Gen.", "typeFilter": "Tipo", + "dexFilter": "Dex", "unlocksFilter": "Otros", - "winFilter": "Vic.", + "miscFilter": "Misc", "sortFilter": "Orden", "all": "Todo", "normal": "Normal", "uncaught": "No Capt.", + "passive": "Passive", "passiveUnlocked": "Pasiva Desbloq.", "passiveLocked": "Pasiva Bloq.", + "ribbon": "Ribbon", "hasWon": "Ya ha ganado", "hasNotWon": "Aún no ha ganado", "sortByNumber": "Núm.", diff --git a/src/locales/fr/filter-bar.ts b/src/locales/fr/filter-bar.ts index de0be450ad6..acbb34e18e8 100644 --- a/src/locales/fr/filter-bar.ts +++ b/src/locales/fr/filter-bar.ts @@ -3,16 +3,19 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "Gen", "typeFilter": "Type", - "unlocksFilter": "Autres", - "winFilter": "Victoires", + "dexFilter": "Dex", + "unlocksFilter": "Débloq.", + "miscFilter": "Divers", "sortFilter": "Tri", "all": "Tous", "normal": "Normal", "uncaught": "Non-capturé", + "passive": "Passif", "passiveUnlocked": "Passif débloqué", "passiveLocked": "Passif verrouillé", - "hasWon": "Oui", - "hasNotWon": "Aucune", + "ribbon": "Médaille", + "hasWon": "Médaille - Oui", + "hasNotWon": "Médaille - Non", "sortByNumber": "Par N°", "sortByCost": "Par cout", "sortByCandies": "Par # bonbons", diff --git a/src/locales/it/filter-bar.ts b/src/locales/it/filter-bar.ts index 979b52f1729..88745d2c4f8 100644 --- a/src/locales/it/filter-bar.ts +++ b/src/locales/it/filter-bar.ts @@ -3,16 +3,19 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "Gen", "typeFilter": "Tipo", + "dexFilter": "Dex", "unlocksFilter": "Altro", - "winFilter": "Vinto", + "miscFilter": "Misc", "sortFilter": "Ordina", "all": "Tutto", "normal": "Normale", "uncaught": "Mancante", + "passive": "Passive", "passiveUnlocked": "Passiva sbloccata", "passiveLocked": "Passiva bloccata", - "hasWon": "Si", - "hasNotWon": "No", + "ribbon": "Ribbon", + "hasWon": "Ribbon - Yes", + "hasNotWon": "Ribbon - No", "sortByNumber": "Num. Dex", "sortByCost": "Costo", "sortByCandies": "Caramelle", diff --git a/src/locales/ko/filter-bar.ts b/src/locales/ko/filter-bar.ts index 7f2dbf89db8..821a80d78ee 100644 --- a/src/locales/ko/filter-bar.ts +++ b/src/locales/ko/filter-bar.ts @@ -3,16 +3,19 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "세대", "typeFilter": "타입", - "unlocksFilter": "등록", - "winFilter": "클리어", + "dexFilter": "도감", + "unlocksFilter": "해금", + "miscFilter": "기타", "sortFilter": "정렬", "all": "전체", "normal": "기본", "uncaught": "미포획", + "passive": "패시브", "passiveUnlocked": "패시브 해금", "passiveLocked": "패시브 잠김", - "hasWon": "완료", - "hasNotWon": "미완료", + "ribbon": "클리어 여부", + "hasWon": "클리어 함", + "hasNotwon": "클리어 안함", "sortByNumber": "도감번호", "sortByCost": "코스트", "sortByCandies": "사탕 수", diff --git a/src/locales/pt_BR/filter-bar.ts b/src/locales/pt_BR/filter-bar.ts index 5e3ab7114da..0c6a8e9ae50 100644 --- a/src/locales/pt_BR/filter-bar.ts +++ b/src/locales/pt_BR/filter-bar.ts @@ -3,16 +3,19 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "Ger.", "typeFilter": "Tipo", + "dexFilter": "Dex", "unlocksFilter": "Outros", - "winFilter": "Vit.", + "miscFilter": "Misc", "sortFilter": "Ordem", "all": "Tudo", "normal": "Normal", "uncaught": "Não Capturado", + "passive": "Passive", "passiveUnlocked": "Passiva Desbloq.", "passiveLocked": "Passiva Bloq.", - "hasWon": "Sim", - "hasNotWon": "Não", + "ribbon": "Ribbon", + "hasWon": "Ribbon - Yes", + "hasNotWon": "Ribbon - No", "sortByNumber": "Núm.", "sortByCost": "Custo", "sortByCandies": "# Doces", diff --git a/src/locales/zh_CN/filter-bar.ts b/src/locales/zh_CN/filter-bar.ts index 581c7bf6b8c..5ccc5b8d9d9 100644 --- a/src/locales/zh_CN/filter-bar.ts +++ b/src/locales/zh_CN/filter-bar.ts @@ -3,16 +3,19 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "世代", "typeFilter": "属性", + "dexFilter": "Dex", "unlocksFilter": "解锁", - "winFilter": "通关", + "miscFilter": "混合", "sortFilter": "排序", "all": "全部", "normal": "无闪光", "uncaught": "未捕获", + "passive": "被动", "passiveUnlocked": "被动解锁", "passiveLocked": "被动未解锁", - "hasWon": "已通关", - "hasNotWon": "未通关", + "ribbon": "缎带", + "hasWon": "有缎带", + "hasNotWon": "无缎带", "sortByNumber": "编号", "sortByCost": "费用", "sortByCandies": "糖果", diff --git a/src/locales/zh_TW/filter-bar.ts b/src/locales/zh_TW/filter-bar.ts index 1f562ffb7ba..0290bda62de 100644 --- a/src/locales/zh_TW/filter-bar.ts +++ b/src/locales/zh_TW/filter-bar.ts @@ -3,16 +3,19 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; export const filterBar: SimpleTranslationEntries = { "genFilter": "世代", "typeFilter": "屬性", + "dexFilter": "Dex", "unlocksFilter": "解鎖", - "winFilter": "通關", + "miscFilter": "混合", "sortFilter": "排序", "all": "全部", "normal": "通常", "uncaught": "未捕獲", + "passive": "被動", "passiveUnlocked": "被動解鎖", "passiveLocked": "被動未解鎖", - "hasWon": "已通關", - "hasNotWon": "未通關", + "ribbon": "緞帶", + "hasWon": "有緞帶", + "hasNotWon": "無緞帶", "sortByNumber": "編號", "sortByCost": "花費", "sortByCandies": "糖果", diff --git a/src/ui/dropdown.ts b/src/ui/dropdown.ts index 4f330de0588..4338e11e0c6 100644 --- a/src/ui/dropdown.ts +++ b/src/ui/dropdown.ts @@ -7,14 +7,14 @@ import i18next from "i18next"; export enum DropDownState { ON = 0, OFF = 1, - INCLUDE = 2, - EXCLUDE = 3, + EXCLUDE = 2 } export enum DropDownType { - MULTI = 0, - SINGLE = 1, - TRI = 2 + SINGLE = 0, + MULTI = 1, + HYBRID = 2, + RADIAL = 3 } export enum SortDirection { @@ -22,130 +22,252 @@ export enum SortDirection { DESC = 1 } +export class DropDownLabel { + public state: DropDownState; + public text: string; + public sprite?: Phaser.GameObjects.Sprite; + + constructor(label: string, sprite?: Phaser.GameObjects.Sprite, state: DropDownState = DropDownState.ON) { + this.text = label || ""; + this.sprite = sprite; + this.state = state || DropDownState.ON; + } +} + + export class DropDownOption extends Phaser.GameObjects.Container { public state: DropDownState = DropDownState.ON; public toggle: Phaser.GameObjects.Sprite; public text: Phaser.GameObjects.Text; - public sprite?: Phaser.GameObjects.Sprite; public val: any; public dir: SortDirection = SortDirection.ASC; - public offStateLabel: string; // label for OFF state in TRI dropdown - public includeStateLabel: string; // label for INCLUDE state in TRI dropdown - public excludeStateLabel: string; // label for EXCLUDE state in TRI dropdown - private onColor = 0x55ff55; + private currentLabelIndex: number; + private labels: DropDownLabel[]; + private onColor = 0x33bbff; private offColor = 0x272727; - private includeColor = 0x55ff55; private excludeColor = 0xff5555; - - constructor(scene: SceneBase, val: any, text: string | string[], sprite?: Phaser.GameObjects.Sprite, state: DropDownState = DropDownState.ON) { + constructor(scene: SceneBase, val: any, labels: DropDownLabel | DropDownLabel[]) { super(scene); this.val = val; - this.state = state; - if (text) { - if (Array.isArray(text)) { - this.offStateLabel = text[0]; - this.includeStateLabel = text[1]; - this.excludeStateLabel = text[2]; - text = text[0]; - } else { - this.offStateLabel = undefined; - this.includeStateLabel = undefined; - this.excludeStateLabel = undefined; - } - this.text = addTextObject(scene, 0, 0, text, TextStyle.TOOLTIP_CONTENT); - this.text.setOrigin(0, 0.5); - this.add(this.text); - } - if (sprite) { - this.sprite = sprite.setOrigin(0, 0.5); - this.add(this.sprite); + if (Array.isArray(labels)) { + this.labels = labels; + } else { + this.labels = labels? [ labels ] : [ new DropDownLabel("") ]; + } + this.currentLabelIndex = 0; + const currentLabel = this.labels[this.currentLabelIndex]; + + this.state = currentLabel.state; + this.text = addTextObject(scene, 0, 0, currentLabel.text || "", TextStyle.TOOLTIP_CONTENT); + this.text.setOrigin(0, 0.5); + this.add(this.text); + + // Add to container the sprite for each label if there is one + for (let i=0; i < this.labels.length; i++) { + const sprite = this.labels[i].sprite; + if (sprite) { + this.add(sprite); + sprite.setOrigin(0, 0.5); + if (i!== this.currentLabelIndex) { + sprite.setVisible(false); + } + } } } - public setupToggle(type: DropDownType): void { - if (type === DropDownType.MULTI || type === DropDownType.TRI) { - this.toggle = this.scene.add.sprite(0, 0, "candy"); - this.toggle.setScale(0.3); - this.toggle.setOrigin(0, 0.5); - } else { + /** + * Initialize the toggle icon based on the provided DropDownType + * For DropDownType.SINGLE: uses a cursor arrow icon + * For other types: uses a candy icon + * @param type the DropDownType to use + * @param visible whether the icon should be visible or not + */ + setupToggleIcon(type: DropDownType, visible: boolean): void { + if (type === DropDownType.SINGLE) { this.toggle = this.scene.add.sprite(0, 0, "cursor"); this.toggle.setScale(0.5); this.toggle.setOrigin(0, 0.5); this.toggle.setRotation(Math.PI / 180 * -90); + } else { + this.toggle = this.scene.add.sprite(0, 0, "candy"); + this.toggle.setScale(0.3); + this.toggle.setOrigin(0, 0.5); } this.add(this.toggle); + this.toggle.setVisible(visible); + this.updateToggleIconColor(); } - public setOptionState(type: DropDownType, state: DropDownState): DropDownState { - this.state = state; - // if type is MULTI or SINGLE, set the color of the toggle based on the state - if (type === DropDownType.MULTI || type === DropDownType.SINGLE) { - if (this.state === DropDownState.OFF) { - this.toggle.setTint(this.offColor); - } else if (this.state === DropDownState.ON) { - this.toggle.setTint(this.onColor); - } - } else if (type === DropDownType.TRI) { - if (this.state === DropDownState.OFF) { - this.text.setText(this.offStateLabel); - this.toggle.setTint(this.offColor); - } else if (this.state === DropDownState.INCLUDE) { - this.text.setText(this.includeStateLabel); - this.toggle.setTint(this.includeColor); - } else if (this.state === DropDownState.EXCLUDE) { - this.text.setText(this.excludeStateLabel); - this.toggle.setTint(this.excludeColor); - } + /** + * Set the toggle icon color based on the current state + */ + private updateToggleIconColor(): void { + switch (this.state) { + case DropDownState.ON: + this.toggle.setTint(this.onColor); + break; + case DropDownState.OFF: + this.toggle.setTint(this.offColor); + break; + case DropDownState.EXCLUDE: + this.toggle.setTint(this.excludeColor); + break; } + } + + /** + * Switch the option to its next state and update visuals + * If only ON/OFF are possible, toggle between the two + * For radials, move to the next state in the list + * @returns the updated DropDownState + */ + public toggleOptionState(): DropDownState { + if (this.labels.length > 1) { + return this.setCurrentLabel((this.currentLabelIndex + 1) % this.labels.length); + } + const newState = this.state === DropDownState.ON ? DropDownState.OFF : DropDownState.ON; + return this.setOptionState(newState); + } + + /** + * Set the option to the given state and update visuals + * @param newState the state to switch to + * @returns the new DropDownState + */ + public setOptionState(newState: DropDownState): DropDownState { + const newLabelIndex = this.labels.findIndex(label => label.state === newState); + if (newLabelIndex !== -1 && newLabelIndex !== this.currentLabelIndex) { + return this.setCurrentLabel(newLabelIndex); + } + + this.state = newState; + this.updateToggleIconColor(); + return newState; + } + + /** + * Change the option state to the one at the given index and update visuals + * @param index index of the state to switch to + * @returns the new DropDownState + */ + private setCurrentLabel(index: number): DropDownState { + const currentLabel = this.labels[this.currentLabelIndex]; + const newLabel = this.labels[index]; + + if (!newLabel) { + return this.state; + } + + this.currentLabelIndex = index; + + // update state, sprite and text to fit the new label + this.state = newLabel.state; + this.updateToggleIconColor(); + + if (currentLabel.sprite) { + this.text.x -= currentLabel.sprite.displayWidth + 2; + currentLabel.sprite.setVisible(false); + } + if (newLabel.sprite) { + this.text.x += newLabel.sprite.displayWidth + 2; + newLabel.sprite.setVisible(true); + } + this.text.setText(newLabel.text); + return this.state; } - public toggleOptionState(type: DropDownType): DropDownState { - if (type === DropDownType.TRI) { - switch (this.state) { - case DropDownState.OFF: - this.state = DropDownState.INCLUDE; - break; - case DropDownState.INCLUDE: - this.state = DropDownState.EXCLUDE; - break; - case DropDownState.EXCLUDE: - this.state = DropDownState.OFF; - break; - } - } else { - switch (this.state) { - case DropDownState.ON: - this.state = DropDownState.OFF; - break; - case DropDownState.OFF: - this.state = DropDownState.ON; - break; - } - } - return this.setOptionState(type, this.state); - } - + /** + * Set the current SortDirection to the provided value and update icon accordingly + * @param SortDirection the new SortDirection to use + */ public setDirection(dir: SortDirection): void { this.dir = dir; this.toggle.flipX = this.dir === SortDirection.DESC; } + /** + * Toggle the current SortDirection value + */ public toggleDirection(): void { this.setDirection(this.dir * -1); } + + /** + * Place the label elements (text and sprite if there is one) to the provided x and y position + * @param x the horizontal position + * @param y the vertical position + */ + setLabelPosition(x: number, y: number) { + let textX = x; + for (let i=0; i < this.labels.length; i++) { + const label = this.labels[i]; + if (label.sprite) { + label.sprite.x = x; + label.sprite.y = y; + if (i === this.currentLabelIndex) { + textX += label.sprite.displayWidth + 2; + } + } + } + if (this.text) { + this.text.x = textX; + this.text.y = y; + } + } + + /** + * Place the toggle icon at the provided position + * @param x the horizontal position + * @param y the vertical position + */ + setTogglePosition(x: number, y: number) { + if (this.toggle) { + this.toggle.x = x; + this.toggle.y = y; + } + } + + /** + * @returns the x position to use for the current label depending on if it has a sprite or not + */ + getCurrentLabelX(): number { + if (this.labels[this.currentLabelIndex].sprite) { + return this.labels[this.currentLabelIndex].sprite.x; + } + return this.text.x; + } + + /** + * @returns max width needed to display all of the labels + */ + getWidth(): number { + let w = 0; + const currentText = this.text.text; + for (const label of this.labels) { + this.text.setText(label.text); + const spriteWidth = label.sprite? label.sprite.displayWidth + 2 : 0; + w = Math.max(w, this.text.displayWidth + spriteWidth); + } + this.text.setText(currentText); + return w; + } + } + export class DropDown extends Phaser.GameObjects.Container { public options: DropDownOption[]; private window: Phaser.GameObjects.NineSlice; private cursorObj: Phaser.GameObjects.Image; private dropDownType: DropDownType = DropDownType.MULTI; - public cursor: integer = 0; + public cursor: number = 0; + public defaultCursor: number = 0; private onChange: () => void; private lastDir: SortDirection = SortDirection.ASC; + private defaultValues: any[]; constructor(scene: BattleScene, x: number, y: number, options: DropDownOption[], onChange: () => void, type: DropDownType = DropDownType.MULTI, optionSpacing: number = 2) { const windowPadding = 5; @@ -165,36 +287,31 @@ export class DropDown extends Phaser.GameObjects.Container { this.cursorObj.setOrigin(0, 0.5); this.cursorObj.setVisible(false); - if (this.dropDownType === DropDownType.MULTI) { - this.options.unshift(new DropDownOption(scene, "ALL", i18next.t("filterBar:all"), null, this.checkForAllOn() ? DropDownState.ON : DropDownState.OFF)); + // For MULTI and HYBRID filter, add an ALL option at the top + if (this.dropDownType === DropDownType.MULTI || this.dropDownType === DropDownType.HYBRID) { + this.options.unshift(new DropDownOption(scene, "ALL", new DropDownLabel(i18next.t("filterBar:all"), undefined, this.checkForAllOn() ? DropDownState.ON : DropDownState.OFF))); } + this.defaultValues = this.getVals(); + + // Place ui elements in the correct spot options.forEach((option, index) => { - option.setupToggle(type); - if (type === DropDownType.SINGLE && option.state === DropDownState.OFF) { - option.toggle.setVisible(false); - } - option.setOptionState(type, option.state); + const toggleVisibility = type !== DropDownType.SINGLE || option.state === DropDownState.ON; + option.setupToggleIcon(type, toggleVisibility); option.width = optionWidth; option.y = index * optionHeight + index * optionSpacing + optionPaddingY; - if (option.text) { - option.text.x = cursorOffset + optionPaddingX + 3 + 8; - option.text.y = optionHeight / 2; - } - if (option.sprite) { - option.sprite.x = cursorOffset + optionPaddingX + 3 + 8; - option.sprite.y = optionHeight / 2; - } + const baseX = cursorOffset + optionPaddingX + 3; + const baseY = optionHeight / 2; + option.setLabelPosition(baseX + 8, baseY); if (type === DropDownType.SINGLE) { - option.toggle.x = cursorOffset + optionPaddingX + 3 + 3; - option.toggle.y = optionHeight / 2 + 1; + option.setTogglePosition(baseX + 3, baseY + 1); } else { - option.toggle.x = cursorOffset + optionPaddingX + 3; - option.toggle.y = optionHeight / 2; + option.setTogglePosition(baseX, baseY); } }); + this.window = addWindow(scene, 0, 0, optionWidth, options[options.length - 1].y + optionHeight + optionPaddingY, false, false, null, null, WindowVariant.XTHIN); this.add(this.window); this.add(options); @@ -202,10 +319,32 @@ export class DropDown extends Phaser.GameObjects.Container { this.setVisible(false); } - toggle(): void { + getWidth(): number { + return this.window? this.window.width : this.width; + } + + toggleVisibility(): void { this.setVisible(!this.visible); } + setVisible(value: boolean): this { + super.setVisible(value); + + if (value) { + this.autoSize(); + } + + return this; + } + + resetCursor(): boolean { + // If we are an hybrid dropdown in "hover" mode, don't move the cursor back to 0 + if (this.dropDownType === DropDownType.HYBRID && this.checkForAllOff() && this.cursor > 0) { + return false; + } + return this.setCursor(this.defaultCursor); + } + setCursor(cursor: integer): boolean { this.cursor = cursor; if (cursor < 0) { @@ -220,96 +359,213 @@ export class DropDown extends Phaser.GameObjects.Container { } else { this.cursorObj.y = this.options[cursor].y + 3.5; this.cursorObj.setVisible(true); + // If hydrid type, we need to update the filters when going up/down in the list + if (this.dropDownType === DropDownType.HYBRID) { + this.onChange(); + } } return true; } - toggleOptionState(): void { - if (this.dropDownType === DropDownType.MULTI) { - const newState = this.options[this.cursor].toggleOptionState(this.dropDownType); - if (this.cursor === 0) { - this.options.forEach((option, index) => { - if (index !== this.cursor) { - option.setOptionState(this.dropDownType, newState); - } - }); + /** + * Switch the option at the provided index to its next state and update visuals + * Update accordingly the other options if needed: + * - if "all" is toggled, also update all other options + * - for DropDownType.SINGLE, unselect the previously selected option if applicable + * @param index the index of the option for which to update the state + */ + toggleOptionState(index: number = this.cursor): void { + const option: DropDownOption = this.options[index]; + if (this.dropDownType === DropDownType.MULTI || this.dropDownType === DropDownType.HYBRID) { + const newState = option.toggleOptionState(); + if (index === 0) { + // we are on the All option > put all other options to the newState + this.setAllOptions(newState); } else { - if (this.checkForAllOff()) { - this.options[0].setOptionState(this.dropDownType, DropDownState.OFF); - } else if (this.checkForAllOn()) { - this.options[0].setOptionState(this.dropDownType, DropDownState.ON); + // select the "all" option if all others are selected, other unselect it + if (newState === DropDownState.ON && this.checkForAllOn()) { + this.options[0].setOptionState(DropDownState.ON); } else { - this.options[0].setOptionState(this.dropDownType, DropDownState.OFF); + this.options[0].setOptionState(DropDownState.OFF); } } } else if (this.dropDownType === DropDownType.SINGLE) { - if (this.options[this.cursor].state === DropDownState.OFF) { + if (option.state === DropDownState.OFF) { this.options.forEach((option) => { - option.setOptionState(this.dropDownType, DropDownState.OFF); + option.setOptionState(DropDownState.OFF); option.setDirection(SortDirection.ASC); option.toggle.setVisible(false); }); - this.options[this.cursor].setOptionState(this.dropDownType, DropDownState.ON); - this.options[this.cursor].setDirection(this.lastDir); - this.options[this.cursor].toggle.setVisible(true); + option.setOptionState(DropDownState.ON); + option.setDirection(this.lastDir); + option.toggle.setVisible(true); } else { - this.options[this.cursor].toggleDirection(); + option.toggleDirection(); this.lastDir = this.options[this.cursor].dir; } - } else if (this.dropDownType === DropDownType.TRI) { - this.options[this.cursor].toggleOptionState(this.dropDownType); - this.autoSize(); + } else if (this.dropDownType === DropDownType.RADIAL) { + option.toggleOptionState(); } this.onChange(); } - setVisible(value: boolean): this { - super.setVisible(value); - - if (value) { - this.autoSize(); - } - - return this; - } - + /** + * Check whether all options except the "ALL" one are ON + * @returns true if all options are set to DropDownState.ON, false otherwise + */ checkForAllOn(): boolean { return this.options.every((option, i) => i === 0 || option.state === DropDownState.ON); } + /** + * Check whether all options except the "ALL" one are OFF + * @returns true if all options are set to DropDownState.OFF, false otherwise + */ checkForAllOff(): boolean { return this.options.every((option, i) => i === 0 || option.state === DropDownState.OFF); } + /** + * Get the current selected values for each option + * @returns an array of values, depending on the DropDownType + * - if MULTI or HYBRID, an array of all the values of the options set to ON (except the ALL one) + * - if RADIAL, an array where the value for each option is of the form { val: any, state: DropDownState } + * - if SINGLE, a single object of the form { val: any, state: SortDirection } + */ getVals(): any[] { if (this.dropDownType === DropDownType.MULTI) { return this.options.filter((option, i) => i > 0 && option.state === DropDownState.ON).map((option) => option.val); - // in TRI dropdown, if state is ON, return the "ON" with the value, if state is OFF, return the "OFF" with the value, if state is TRI, return the "TRI" with the value - } else if (this.dropDownType === DropDownType.TRI) { - return this.options.filter((option, i) => option.state === DropDownState.OFF || option.state === DropDownState.INCLUDE || option.state === DropDownState.EXCLUDE).map((option) => { - return {val: option.val, state: option.state}; + } else if (this.dropDownType === DropDownType.HYBRID) { + const selected = this.options.filter((option, i) => i > 0 && option.state === DropDownState.ON).map((option) => option.val); + if (selected.length > 0) { + return selected; + } + // if nothing is selected and the ALL option is hovered, return all elements + if (this.cursor === 0) { + return this.options.filter((_, i) => i > 0).map(option => option.val); + } + // if nothing is selected and a single option is hovered, return that one + return [this.options[this.cursor].val]; + } else if (this.dropDownType === DropDownType.RADIAL) { + return this.options.map((option) => { + return { val: option.val, state: option.state }; }); } else { - return this.options.filter((option, i) => option.state === DropDownState.ON).map((option) => { - return {val: option.val, dir: option.dir}; + return this.options.filter(option => option.state === DropDownState.ON).map((option) => { + return { val: option.val, dir: option.dir }; }); } } + /** + * Check whether the values of all options are the same as the default ones + * @returns true if they are the same, false otherwise + */ + public hasDefaultValues(): boolean { + const currentValues = this.getVals(); + + switch (this.dropDownType) { + case DropDownType.MULTI: + case DropDownType.HYBRID: + return currentValues.length === this.defaultValues.length && currentValues.every((value, index) => value === this.defaultValues[index]); + + case DropDownType.RADIAL: + return currentValues.every((value, index) => value["val"] === this.defaultValues[index]["val"] && value["state"] === this.defaultValues[index]["state"]); + + case DropDownType.SINGLE: + return currentValues[0]["dir"] === this.defaultValues[0]["dir"] && currentValues[0]["val"] === this.defaultValues[0]["val"]; + + default: + return false; + } + } + + /** + * Set all values to their default state + */ + public resetToDefault(): void { + this.setCursor(this.defaultCursor); + + for (let i = 0; i < this.options.length; i++) { + const option = this.options[i]; + // reset values + switch (this.dropDownType) { + case DropDownType.HYBRID: + case DropDownType.MULTI: + if (this.defaultValues.includes(option.val)) { + option.setOptionState(DropDownState.ON); + } else { + option.setOptionState(DropDownState.OFF); + } + break; + case DropDownType.RADIAL: + const targetValue = this.defaultValues.find(value => value.val === option.val); + option.setOptionState(targetValue.state); + break; + case DropDownType.SINGLE: + if (option.val === this.defaultValues[0].val) { + if (option.state !== DropDownState.ON) { + this.toggleOptionState(i); + } + if (option.dir !== this.defaultValues[0].dir) { + this.toggleOptionState(i); + } + } + break; + } + } + + // Select or unselect "ALL" button if applicable + if (this.dropDownType === DropDownType.MULTI || this.dropDownType === DropDownType.HYBRID) { + if (this.checkForAllOn()) { + this.options[0].setOptionState(DropDownState.ON); + } else { + this.options[0].setOptionState(DropDownState.OFF); + } + } + + } + + /** + * Set all options to a specific state + * @param state the DropDownState to assign to each option + */ + private setAllOptions(state: DropDownState) : void { + // For single type dropdown, setting all options is not relevant + if (this.dropDownType === DropDownType.SINGLE) { + return; + } + + for (const option of this.options) { + option.setOptionState(state); + } + } + + /** + * Set all options to their ON state + */ + public selectAllOptions() { + this.setAllOptions(DropDownState.ON); + } + + /** + * Set all options to their OFF state + */ + public unselectAllOptions() { + this.setAllOptions(DropDownState.OFF); + } + + /** + * Automatically set the width and position based on the size of options + */ autoSize(): void { let maxWidth = 0; let x = 0; for (let i = 0; i < this.options.length; i++) { - if (this.options[i].sprite) { - if (this.options[i].sprite.displayWidth > maxWidth) { - maxWidth = this.options[i].sprite.displayWidth; - x = this.options[i].sprite.x; - } - } else { - if (this.options[i].text.displayWidth > maxWidth) { - maxWidth = this.options[i].text.displayWidth; - x = this.options[i].text.x; - } + const optionWidth = this.options[i].getWidth(); + if (optionWidth > maxWidth) { + maxWidth = optionWidth; + x = this.options[i].getCurrentLabelX(); } } this.window.width = maxWidth + x - this.window.x + 6; @@ -319,7 +575,4 @@ export class DropDown extends Phaser.GameObjects.Container { } } - isActive(): boolean { - return this.options.some((option) => option.state === DropDownState.ON); - } } diff --git a/src/ui/filter-bar.ts b/src/ui/filter-bar.ts index fd661901c78..e163284bad3 100644 --- a/src/ui/filter-bar.ts +++ b/src/ui/filter-bar.ts @@ -1,13 +1,14 @@ import BattleScene from "#app/battle-scene.js"; import { DropDown } from "./dropdown"; import { StarterContainer } from "./starter-container"; -import { addTextObject, TextStyle } from "./text"; +import { addTextObject, getTextColor, TextStyle } from "./text"; +import { UiTheme } from "#enums/ui-theme"; import { addWindow, WindowVariant } from "./ui-theme"; export enum DropDownColumn { GEN, TYPES, - SHINY, + DEX, UNLOCKS, MISC, SORT @@ -15,18 +16,14 @@ export enum DropDownColumn { export class FilterBar extends Phaser.GameObjects.Container { private window: Phaser.GameObjects.NineSlice; - public labels: Phaser.GameObjects.Text[] = []; - public dropDowns: DropDown[] = []; + private labels: Phaser.GameObjects.Text[] = []; + private dropDowns: DropDown[] = []; + private columns: DropDownColumn[] = []; public cursorObj: Phaser.GameObjects.Image; public numFilters: number = 0; public openDropDown: boolean = false; private lastCursor: number = -1; - public defaultGenVals: any[] = []; - public defaultTypeVals: any[] = []; - public defaultShinyVals: any[] = []; - public defaultUnlocksVals: any[] = []; - public defaultMiscVals: any[] = []; - public defaultSortVals: any[] = []; + private uiTheme: UiTheme; constructor(scene: BattleScene, x: number, y: number, width: number, height: number) { super(scene, x, y); @@ -42,10 +39,26 @@ export class FilterBar extends Phaser.GameObjects.Container { this.cursorObj.setVisible(false); this.cursorObj.setOrigin(0, 0); this.add(this.cursorObj); + + this.uiTheme = scene.uiTheme; } - addFilter(text: string, dropDown: DropDown): void { - const filterTypesLabel = addTextObject(this.scene, 0, 3, text, TextStyle.TOOLTIP_CONTENT); + /** + * Add a new filter to the FilterBar, as long that a unique DropDownColumn is provided + * @param column the DropDownColumn that will be used to access the filter values + * @param title the string that will get displayed in the filter bar + * @param dropDown the DropDown with all options for this filter + * @returns true if successful, false if the provided column was already in use for another filter + */ + addFilter(column: DropDownColumn, title: string, dropDown: DropDown): boolean { + // The column should be unique to each filter, + if (this.columns.includes(column)) { + return false; + } + + this.columns.push(column); + + const filterTypesLabel = addTextObject(this.scene, 0, 3, title, TextStyle.TOOLTIP_CONTENT); this.labels.push(filterTypesLabel); this.add(filterTypesLabel); this.dropDowns.push(dropDown); @@ -53,69 +66,39 @@ export class FilterBar extends Phaser.GameObjects.Container { this.calcFilterPositions(); this.numFilters++; + + return true; } + /** + * Get the DropDown associated to a given filter + * @param col the DropDownColumn used to register the filter to retrieve + * @returns the associated DropDown if it exists, undefined otherwise + */ + getFilter(col: DropDownColumn) : DropDown { + return this.dropDowns[this.columns.indexOf(col)]; + } + /** + * Highlight the labels of the FilterBar if the filters are different from their default values + */ updateFilterLabels(): void { - const genVals = this.getVals(DropDownColumn.GEN); - const typeVals = this.getVals(DropDownColumn.TYPES); - const shinyVals = this.getVals(DropDownColumn.SHINY); - const unlocksVals = this.getVals(DropDownColumn.UNLOCKS); - const miscVals = this.getVals(DropDownColumn.MISC); - const sortVals = this.getVals(DropDownColumn.SORT); - - // onColor is Yellow, offColor is White - const onColor = 0xffef5c; - const offColor = 0xffffff; - - // if genVals and defaultGenVals has same elements, set the label to offColor else set it to onColor - if (genVals.length === this.defaultGenVals.length && genVals.every((value, index) => value === this.defaultGenVals[index])) { - this.labels[DropDownColumn.GEN].setTint(offColor); - } else { - this.labels[DropDownColumn.GEN].setTint(onColor); - } - - // if typeVals and defaultTypeVals has same elements, set the label to offColor else set it to onColor - if (typeVals.length === this.defaultTypeVals.length && typeVals.every((value, index) => value === this.defaultTypeVals[index])) { - this.labels[DropDownColumn.TYPES].setTint(offColor); - } else { - this.labels[DropDownColumn.TYPES].setTint(onColor); - } - - // if shinyVals and defaultShinyVals has same elements, set the label to offColor else set it to onColor - if (shinyVals.length === this.defaultShinyVals.length && shinyVals.every((value, index) => value === this.defaultShinyVals[index])) { - this.labels[DropDownColumn.SHINY].setTint(offColor); - } else { - this.labels[DropDownColumn.SHINY].setTint(onColor); - } - - // if unlocksVals and defaultUnlocksVals has same elements, set the label to offColor else set it to onColor - if (unlocksVals.every((value, index) => value["val"] === this.defaultUnlocksVals[index]["val"] && value["state"] === this.defaultUnlocksVals[index]["state"])) { - this.labels[DropDownColumn.UNLOCKS].setTint(offColor); - } else { - this.labels[DropDownColumn.UNLOCKS].setTint(onColor); - } - - // if miscVals and defaultMiscVals has same elements, set the label to offColor else set it to onColor - if (miscVals.every((value, index) => value["val"] === this.defaultMiscVals[index]["val"] && value["state"] === this.defaultMiscVals[index]["state"])) { - this.labels[DropDownColumn.MISC].setTint(offColor); - } else { - this.labels[DropDownColumn.MISC].setTint(onColor); - } - - // if sortVals and defaultSortVals has same value and dir, set the label to offColor else set it to onColor - if (sortVals[0]["dir"] === this.defaultSortVals[0]["dir"] && sortVals[0]["val"] === this.defaultSortVals[0]["val"]) { - this.labels[DropDownColumn.SORT].setTint(offColor); - } else { - this.labels[DropDownColumn.SORT].setTint(onColor); + for (let i = 0; i < this.numFilters; i++) { + if (this.dropDowns[i].hasDefaultValues()) { + this.labels[i].setColor(getTextColor(TextStyle.TOOLTIP_CONTENT, false, this.uiTheme)); + } else { + this.labels[i].setColor(getTextColor(TextStyle.STATS_LABEL, false, this.uiTheme)); + } } } - calcFilterPositions(): void { + /** + * Position the filter dropdowns evenly across the width of the container + */ + private calcFilterPositions(): void { const paddingX = 6; const cursorOffset = 8; - // position labels with even space across the width of the container let totalWidth = paddingX * 2 + cursorOffset; this.labels.forEach(label => { totalWidth += label.displayWidth + cursorOffset; @@ -134,12 +117,23 @@ export class FilterBar extends Phaser.GameObjects.Container { } } + /** + * Move the leftmost dropdown to the left of the FilterBar instead of below it + */ + offsetFirstFilter(): void { + if (this.dropDowns[0]) { + this.dropDowns[0].autoSize(); + this.dropDowns[0].x -= this.dropDowns[0].getWidth(); + this.dropDowns[0].y = 0; + } + } + setCursor(cursor: number): void { if (this.lastCursor > -1) { if (this.dropDowns[this.lastCursor].visible) { this.dropDowns[this.lastCursor].setVisible(false); this.dropDowns[cursor].setVisible(true); - this.dropDowns[cursor].setCursor(0); + this.dropDowns[cursor].resetCursor(); } } @@ -149,9 +143,9 @@ export class FilterBar extends Phaser.GameObjects.Container { } toggleDropDown(index: number): void { - this.dropDowns[index].toggle(); + this.dropDowns[index].toggleVisibility(); this.openDropDown = this.dropDowns[index].visible; - this.dropDowns[index].setCursor(0); + this.dropDowns[index].resetCursor(); } hideDropDowns(): void { @@ -182,11 +176,22 @@ export class FilterBar extends Phaser.GameObjects.Container { } getVals(col: DropDownColumn): any[] { - return this.dropDowns[col].getVals(); + return this.getFilter(col).getVals(); } + setValsToDefault(): void { + for (const dropDown of this.dropDowns) { + dropDown.resetToDefault(); + } + } + + /** + * Find the nearest filter to the provided container + * @param container the StarterContainer to compare position against + * @returns the index of the closest filter + */ getNearestFilter(container: StarterContainer): number { - // find the nearest filter to the x position + const midx = container.x + container.icon.displayWidth / 2; let nearest = 0; let nearestDist = 1000; @@ -201,11 +206,4 @@ export class FilterBar extends Phaser.GameObjects.Container { return nearest; } - getLastFilterX(): number { - return this.labels[this.lastCursor].x + this.labels[this.lastCursor].displayWidth / 2; - } - - isFilterActive(index: number) { - return this.dropDowns[index].isActive(); - } } diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index ff7b7c19e47..3249ae668a1 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -40,7 +40,7 @@ import { Species } from "#enums/species"; import {Button} from "#enums/buttons"; import { EggSourceType } from "#app/enums/egg-source-types.js"; import AwaitableUiHandler from "./awaitable-ui-handler"; -import { DropDown, DropDownOption, DropDownState, DropDownType } from "./dropdown"; +import { DropDown, DropDownLabel, DropDownOption, DropDownState, DropDownType } from "./dropdown"; import { StarterContainer } from "./starter-container"; import { DropDownColumn, FilterBar } from "./filter-bar"; import { ScrollBar } from "./scroll-bar"; @@ -119,6 +119,14 @@ const starterCandyCosts: { passive: integer, costReduction: [integer, integer], { passive: 10, costReduction: [3, 10], egg: 10 }, // 10 ]; +// Position of UI elements +const filterBarHeight = 17; +const speciesContainerX = 109; // if team on the RIGHT: 109 / if on the LEFT: 143 +const teamWindowX = 285; // if team on the RIGHT: 285 / if on the LEFT: 109 +const teamWindowY = 18; +const teamWindowWidth = 34; +const teamWindowHeight = 132; + function getPassiveCandyCount(baseValue: integer): integer { return starterCandyCosts[baseValue - 1].passive; } @@ -145,6 +153,57 @@ function calcStarterPosition(index: number, scrollCursor:number = 0): {x: number return {x: x, y: y}; } +/** + * Calculates the y position for the icon of stater pokemon selected for the team + * @param index index of the Pokemon in the team (0-5) + * @returns the y position to use for the icon + */ +function calcStarterIconY(index: number) { + const starterSpacing = teamWindowHeight / 7; + const firstStarterY = teamWindowY + starterSpacing / 2; + return Math.round(firstStarterY + starterSpacing * index); +} + +/** + * Finds the index of the team Pokemon closest vertically to the given y position + * @param y the y position to find closest starter Pokemon + * @param teamSize how many Pokemon are in the team (0-6) + * @returns index of the closest Pokemon in the team container + */ +function findClosestStarterIndex(y: number, teamSize: number = 6): number { + let smallestDistance = teamWindowHeight; + let closestStarterIndex = 0; + for (let i = 0; i < teamSize; i++) { + const distance = Math.abs(y - (calcStarterIconY(i) - 13)); + if (distance < smallestDistance) { + closestStarterIndex = i; + smallestDistance = distance; + } + } + return closestStarterIndex; +} + +/** + * Finds the row of the filtered Pokemon closest vertically to the given Pokemon in the team + * @param index index of the Pokemon in the team (0-5) + * @param numberOfRows the number of rows to check against + * @returns index of the row closest vertically to the given Pokemon + */ +function findClosestStarterRow(index: number, numberOfRows: number) { + const currentY = calcStarterIconY(index) - 13; + let smallestDistance = teamWindowHeight; + let closestRowIndex = 0; + for (let i=0; i < numberOfRows; i++) { + const distance = Math.abs(currentY - calcStarterPosition(i * 9).y); + if (distance < smallestDistance) { + closestRowIndex = i; + smallestDistance = distance; + } + } + return closestRowIndex; +} + + export default class StarterSelectUiHandler extends MessageUiHandler { private starterSelectContainer: Phaser.GameObjects.Container; private starterSelectScrollBar: ScrollBar; @@ -297,40 +356,33 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.shinyOverlay.setVisible(false); this.starterSelectContainer.add(this.shinyOverlay); - const starterContainerWindow = addWindow(this.scene, 109, 18, 175, 161); - const starterContainerBg = this.scene.add.image(110, 19, "starter_container_bg"); + const starterContainerWindow = addWindow(this.scene, speciesContainerX, filterBarHeight + 1, 175, 161); + const starterContainerBg = this.scene.add.image(speciesContainerX+1, filterBarHeight + 2, "starter_container_bg"); starterContainerBg.setOrigin(0, 0); this.starterSelectContainer.add(starterContainerBg); - this.starterSelectContainer.add(addWindow(this.scene, 285, 59, 34, 91)); - this.starterSelectContainer.add(addWindow(this.scene, 285, 145, 34, 34, true)); + this.starterSelectContainer.add(addWindow(this.scene, teamWindowX, teamWindowY, teamWindowWidth, teamWindowHeight)); + this.starterSelectContainer.add(addWindow(this.scene, teamWindowX, teamWindowY + teamWindowHeight - 5, teamWindowWidth, teamWindowWidth, true)); this.starterSelectContainer.add(starterContainerWindow); + // Create and initialise filter bar this.filterBarContainer = this.scene.add.container(0, 0); - - // this.filterBar = new FilterBar(this.scene, 143, 1, 175, 17); - this.filterBar = new FilterBar(this.scene, 109, 1, 175, 17); + this.filterBar = new FilterBar(this.scene, Math.min(speciesContainerX, teamWindowX), 1, 210, filterBarHeight); // gen filter const genOptions: DropDownOption[] = [ - new DropDownOption(this.scene, 1, i18next.t("starterSelectUiHandler:gen1"), null, DropDownState.ON), - new DropDownOption(this.scene, 2, i18next.t("starterSelectUiHandler:gen2"), null, DropDownState.ON), - new DropDownOption(this.scene, 3, i18next.t("starterSelectUiHandler:gen3"), null, DropDownState.ON), - new DropDownOption(this.scene, 4, i18next.t("starterSelectUiHandler:gen4"), null, DropDownState.ON), - new DropDownOption(this.scene, 5, i18next.t("starterSelectUiHandler:gen5"), null, DropDownState.ON), - new DropDownOption(this.scene, 6, i18next.t("starterSelectUiHandler:gen6"), null, DropDownState.ON), - new DropDownOption(this.scene, 7, i18next.t("starterSelectUiHandler:gen7"), null, DropDownState.ON), - new DropDownOption(this.scene, 8, i18next.t("starterSelectUiHandler:gen8"), null, DropDownState.ON), - new DropDownOption(this.scene, 9, i18next.t("starterSelectUiHandler:gen9"), null, DropDownState.ON), + new DropDownOption(this.scene, 1, new DropDownLabel(i18next.t("starterSelectUiHandler:gen1"))), + new DropDownOption(this.scene, 2, new DropDownLabel(i18next.t("starterSelectUiHandler:gen2"))), + new DropDownOption(this.scene, 3, new DropDownLabel(i18next.t("starterSelectUiHandler:gen3"))), + new DropDownOption(this.scene, 4, new DropDownLabel(i18next.t("starterSelectUiHandler:gen4"))), + new DropDownOption(this.scene, 5, new DropDownLabel(i18next.t("starterSelectUiHandler:gen5"))), + new DropDownOption(this.scene, 6, new DropDownLabel(i18next.t("starterSelectUiHandler:gen6"))), + new DropDownOption(this.scene, 7, new DropDownLabel(i18next.t("starterSelectUiHandler:gen7"))), + new DropDownOption(this.scene, 8, new DropDownLabel(i18next.t("starterSelectUiHandler:gen8"))), + new DropDownOption(this.scene, 9, new DropDownLabel(i18next.t("starterSelectUiHandler:gen9"))), ]; - this.filterBar.addFilter(i18next.t("filterBar:genFilter"), new DropDown(this.scene, 0, 0, genOptions, this.updateStarters, DropDownType.MULTI)); - this.filterBar.defaultGenVals = this.filterBar.getVals(DropDownColumn.GEN); - // set gen filter to all off except for the I GEN - for (const option of genOptions) { - if (option.val !== 1) { - option.setOptionState(DropDownType.MULTI ,DropDownState.OFF); - } - } + const genDropDown: DropDown = new DropDown(this.scene, 0, 0, genOptions, this.updateStarters, DropDownType.HYBRID); + this.filterBar.addFilter(DropDownColumn.GEN, i18next.t("filterBar:genFilter"), genDropDown); // type filter const typeKeys = Object.keys(Type).filter(v => isNaN(Number(v))); @@ -342,10 +394,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const typeSprite = this.scene.add.sprite(0, 0, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`); typeSprite.setScale(0.5); typeSprite.setFrame(type.toLowerCase()); - typeOptions.push(new DropDownOption(this.scene, index, null, typeSprite)); + typeOptions.push(new DropDownOption(this.scene, index, new DropDownLabel("", typeSprite))); }); - this.filterBar.addFilter(i18next.t("filterBar:typeFilter"), new DropDown(this.scene, 0, 0, typeOptions, this.updateStarters, DropDownType.MULTI, 0.5)); - this.filterBar.defaultTypeVals = this.filterBar.getVals(DropDownColumn.TYPES); + this.filterBar.addFilter(DropDownColumn.TYPES, i18next.t("filterBar:typeFilter"), new DropDown(this.scene, 0, 0, typeOptions, this.updateStarters, DropDownType.HYBRID, 0.5)); // shiny filter const shiny1Sprite = this.scene.add.sprite(0, 0, "shiny_icons"); @@ -365,45 +416,54 @@ export default class StarterSelectUiHandler extends MessageUiHandler { shiny3Sprite.setTint(getVariantTint(2)); const shinyOptions = [ - new DropDownOption(this.scene, "SHINY3", null, shiny3Sprite), - new DropDownOption(this.scene, "SHINY2", null, shiny2Sprite), - new DropDownOption(this.scene, "SHINY", null, shiny1Sprite), - new DropDownOption(this.scene, "NORMAL", i18next.t("filterBar:normal")), - new DropDownOption(this.scene, "UNCAUGHT", i18next.t("filterBar:uncaught")), + new DropDownOption(this.scene, "SHINY3", new DropDownLabel("", shiny3Sprite)), + new DropDownOption(this.scene, "SHINY2", new DropDownLabel("", shiny2Sprite)), + new DropDownOption(this.scene, "SHINY", new DropDownLabel("", shiny1Sprite)), + new DropDownOption(this.scene, "NORMAL", new DropDownLabel(i18next.t("filterBar:normal"))), + new DropDownOption(this.scene, "UNCAUGHT", new DropDownLabel(i18next.t("filterBar:uncaught"))) ]; - this.filterBar.addFilter("Owned", new DropDown(this.scene, 0, 0, shinyOptions, this.updateStarters, DropDownType.MULTI)); - this.filterBar.defaultShinyVals = this.filterBar.getVals(DropDownColumn.SHINY); - + this.filterBar.addFilter(DropDownColumn.DEX, i18next.t("filterBar:dexFilter"), new DropDown(this.scene, 0, 0, shinyOptions, this.updateStarters, DropDownType.HYBRID)); // unlocks filter + const passiveLabels = [ + new DropDownLabel(i18next.t("filterBar:passive"), undefined, DropDownState.OFF), + new DropDownLabel(i18next.t("filterBar:passiveUnlocked"), undefined, DropDownState.ON), + new DropDownLabel(i18next.t("filterBar:passiveLocked"), undefined, DropDownState.EXCLUDE), + ]; const unlocksOptions = [ - new DropDownOption(this.scene, "PASSIVE", ["Passive", i18next.t("filterBar:passiveUnlocked"), i18next.t("filterBar:passiveLocked")], null, DropDownState.OFF), + new DropDownOption(this.scene, "PASSIVE", passiveLabels), ]; - this.filterBar.addFilter(i18next.t("filterBar:unlocksFilter"), new DropDown(this.scene, 0, 0, unlocksOptions, this.updateStarters, DropDownType.TRI)); - this.filterBar.defaultUnlocksVals = this.filterBar.getVals(DropDownColumn.UNLOCKS); + this.filterBar.addFilter(DropDownColumn.UNLOCKS, i18next.t("filterBar:unlocksFilter"), new DropDown(this.scene, 0, 0, unlocksOptions, this.updateStarters, DropDownType.RADIAL)); // misc filter - const miscOptions = [ - new DropDownOption(this.scene, "WIN", ["Win", "Win - Yes", "Win - No"], null, DropDownState.OFF), + const winLabels = [ + new DropDownLabel(i18next.t("filterBar:ribbon"), undefined, DropDownState.OFF), + new DropDownLabel(i18next.t("filterBar:hasWon"), undefined, DropDownState.ON), + new DropDownLabel(i18next.t("filterBar:hasNotWon"), undefined, DropDownState.EXCLUDE), ]; - this.filterBar.addFilter("Misc", new DropDown(this.scene, 0, 0, miscOptions, this.updateStarters, DropDownType.TRI)); - this.filterBar.defaultMiscVals = this.filterBar.getVals(DropDownColumn.MISC); + const miscOptions = [ + new DropDownOption(this.scene, "WIN", winLabels), + ]; + this.filterBar.addFilter(DropDownColumn.MISC, i18next.t("filterBar:miscFilter"), new DropDown(this.scene, 0, 0, miscOptions, this.updateStarters, DropDownType.RADIAL)); // sort filter const sortOptions = [ - new DropDownOption(this.scene, 0, i18next.t("filterBar:sortByNumber")), - new DropDownOption(this.scene, 1, i18next.t("filterBar:sortByCost"), null, DropDownState.OFF), - new DropDownOption(this.scene, 2, i18next.t("filterBar:sortByCandies"), null, DropDownState.OFF), - new DropDownOption(this.scene, 3, i18next.t("filterBar:sortByIVs"), null, DropDownState.OFF), - new DropDownOption(this.scene, 4, i18next.t("filterBar:sortByName"), null, DropDownState.OFF)]; - this.filterBar.addFilter(i18next.t("filterBar:sortFilter"), new DropDown(this.scene, 0, 0, sortOptions, this.updateStarters, DropDownType.SINGLE)); + new DropDownOption(this.scene, 0, new DropDownLabel(i18next.t("filterBar:sortByNumber"))), + new DropDownOption(this.scene, 1, new DropDownLabel(i18next.t("filterBar:sortByCost"), undefined, DropDownState.OFF)), + new DropDownOption(this.scene, 2, new DropDownLabel(i18next.t("filterBar:sortByCandies"), undefined, DropDownState.OFF)), + new DropDownOption(this.scene, 3, new DropDownLabel(i18next.t("filterBar:sortByIVs"), undefined, DropDownState.OFF)), + new DropDownOption(this.scene, 4, new DropDownLabel(i18next.t("filterBar:sortByName"), undefined, DropDownState.OFF)) + ]; + this.filterBar.addFilter(DropDownColumn.SORT, i18next.t("filterBar:sortFilter"), new DropDown(this.scene, 0, 0, sortOptions, this.updateStarters, DropDownType.SINGLE)); this.filterBarContainer.add(this.filterBar); - this.filterBar.defaultSortVals = this.filterBar.getVals(DropDownColumn.SORT); this.starterSelectContainer.add(this.filterBarContainer); + // Offset the generation filter dropdown to avoid covering the filtered pokemon + this.filterBar.offsetFirstFilter(); + if (!this.scene.uiTheme) { starterContainerWindow.setVisible(false); } @@ -479,22 +539,22 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonEggMoveBgs = []; this.pokemonEggMoveLabels = []; - this.valueLimitLabel = addTextObject(this.scene, 302, 150, "0/10", TextStyle.TOOLTIP_CONTENT); + this.valueLimitLabel = addTextObject(this.scene, teamWindowX+17, 150, "0/10", TextStyle.TOOLTIP_CONTENT); this.valueLimitLabel.setOrigin(0.5, 0); this.starterSelectContainer.add(this.valueLimitLabel); - const startLabel = addTextObject(this.scene, 302, 162, i18next.t("common:start"), TextStyle.TOOLTIP_CONTENT); + const startLabel = addTextObject(this.scene, teamWindowX+17, 162, i18next.t("common:start"), TextStyle.TOOLTIP_CONTENT); startLabel.setOrigin(0.5, 0); this.starterSelectContainer.add(startLabel); - this.startCursorObj = this.scene.add.nineslice(289, 160, "select_cursor", null, 26, 15, 6, 6, 6, 6); + this.startCursorObj = this.scene.add.nineslice(teamWindowX+4, 160, "select_cursor", null, 26, 15, 6, 6, 6, 6); this.startCursorObj.setVisible(false); this.startCursorObj.setOrigin(0, 0); this.starterSelectContainer.add(this.startCursorObj); const starterSpecies: Species[] = []; - const starterBoxContainer = this.scene.add.container(115, 9); + const starterBoxContainer = this.scene.add.container(speciesContainerX + 6, 9); //115 this.starterSelectScrollBar = new ScrollBar(this.scene, 161, 12, 0); @@ -544,7 +604,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.starterSelectContainer.add(starterBoxContainer); this.starterIcons = new Array(6).fill(null).map((_, i) => { - const icon = this.scene.add.sprite(292, 63 + 13 * i, "pokemon_icons_0"); + const icon = this.scene.add.sprite(teamWindowX + 7, calcStarterIconY(i), "pokemon_icons_0"); icon.setScale(0.5); icon.setOrigin(0, 0); icon.setFrame("unknown"); @@ -833,6 +893,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.setUpgradeAnimation(icon, species); }); + this.resetFilters(); this.updateStarters(); this.setFilterMode(false); @@ -848,6 +909,27 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return false; } + /** + * Set the selections for all filters to their default starting value + */ + resetFilters() : void { + const genDropDown: DropDown = this.filterBar.getFilter(DropDownColumn.GEN); + if (this.scene.gameMode.isChallenge) { + // In challenge mode all gens are selected by default + genDropDown.defaultCursor = 0; + } else { + // in other modes, gen 1 is selected by default, and all options disabled + genDropDown.defaultCursor = 1; + } + + this.filterBar.setValsToDefault(); + + // for all modes except challenge, disable all gen options to enable hovering behavior + if (!this.scene.gameMode.isChallenge) { + genDropDown.unselectAllOptions(); + } + } + showText(text: string, delay?: integer, callback?: Function, callbackDelay?: integer, prompt?: boolean, promptDelay?: integer) { super.showText(text, delay, callback, callbackDelay, prompt, promptDelay); @@ -1035,11 +1117,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const onScreenLastIndex = Math.min(this.filteredStarterContainers.length - 1, onScreenFirstIndex + maxRows * maxColumns - 1); // this is the last starter index on the screen const onScreenNumberOfStarters = onScreenLastIndex - onScreenFirstIndex + 1; const onScreenNumberOfRows = Math.ceil(onScreenNumberOfStarters / maxColumns); - // const onScreenFirstRow = Math.floor(onScreenFirstIndex / maxColumns); const onScreenCurrentRow = Math.floor((this.cursor - onScreenFirstIndex) / maxColumns); - // console.log("this.cursor: ", this.cursor, "this.scrollCursor" , this.scrollCursor, "numberOfStarters: ", numberOfStarters, "numOfRows: ", numOfRows, "currentRow: ", currentRow, "onScreenFirstIndex: ", onScreenFirstIndex, "onScreenLastIndex: ", onScreenLastIndex, "onScreenNumberOfStarters: ", onScreenNumberOfStarters, "onScreenNumberOfRow: ", onScreenNumberOfRows, "onScreenCurrentRow: ", onScreenCurrentRow); - const ui = this.getUi(); let success = false; @@ -1053,8 +1132,18 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } } else if (button === Button.CANCEL) { if (this.filterMode && this.filterBar.openDropDown) { + // CANCEL with a filter menu open > close it this.filterBar.toggleDropDown(this.filterBarCursor); + + // if there are possible starters go the first one of the list + if (numberOfStarters > 0) { + this.setFilterMode(false); + this.scrollCursor = 0; + this.updateScroll(); + this.setCursor(0); + } success = true; + } else if (this.statsMode) { this.toggleStatsMode(false); success = true; @@ -1081,6 +1170,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.starterIconsCursorIndex = this.starterSpecies.length - 1; this.moveStarterIconsCursor(this.starterIconsCursorIndex); } else { + // up from start button with no Pokemon in the team > go to filter + this.startCursorObj.setVisible(false); + this.filterBarCursor = Math.max(1, this.filterBar.numFilters - 1); this.setFilterMode(true); } success = true; @@ -1091,6 +1183,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.starterIconsCursorIndex = 0; this.moveStarterIconsCursor(this.starterIconsCursorIndex); } else { + // down from start button with no Pokemon in the team > go to filter + this.startCursorObj.setVisible(false); + this.filterBarCursor = Math.max(1, this.filterBar.numFilters - 1); this.setFilterMode(true); } success = true; @@ -1129,27 +1224,31 @@ export default class StarterSelectUiHandler extends MessageUiHandler { success = this.filterBar.decDropDownCursor(); // else if there is filtered starters } else if (numberOfStarters > 0) { + // UP from filter bar to bottom of Pokemon list this.setFilterMode(false); this.scrollCursor = Math.max(0,numOfRows - 9); this.updateScroll(); const proportion = (this.filterBarCursor + 0.5) / this.filterBar.numFilters; - const targetCol = Math.floor(proportion * 9); + const targetCol = Math.min(8, Math.floor(proportion * 11)); if (numberOfStarters % 9 > targetCol) { - success = this.setCursor(numberOfStarters - (numberOfStarters) % 9 + targetCol); + this.setCursor(numberOfStarters - (numberOfStarters) % 9 + targetCol); } else { - success = this.setCursor(Math.max(numberOfStarters - (numberOfStarters) % 9 + targetCol - 9,0)); + this.setCursor(Math.max(numberOfStarters - (numberOfStarters) % 9 + targetCol - 9, 0)); } + success = true; } break; case Button.DOWN: if (this.filterBar.openDropDown) { success = this.filterBar.incDropDownCursor(); } else if (numberOfStarters > 0) { + // DOWN from filter bar to top of Pokemon list this.setFilterMode(false); this.scrollCursor = 0; this.updateScroll(); const proportion = this.filterBarCursor / Math.max(1, this.filterBar.numFilters - 1); - this.setCursor(Math.round(proportion * (Math.min(9, numberOfStarters) - 1))); + const targetCol = Math.min(8, Math.floor(proportion * 11)); + this.setCursor(Math.min(targetCol, numberOfStarters)); success = true; } break; @@ -1669,9 +1768,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } } else { if (this.starterIconsCursorIndex === 0) { + // Up from first Pokemon in the team > go to filter this.starterIconsCursorObj.setVisible(false); this.setSpecies(null); - this.startCursorObj.setVisible(true); + this.filterBarCursor = Math.max(1, this.filterBar.numFilters - 1); + this.setFilterMode(true); } else { this.starterIconsCursorIndex--; this.moveStarterIconsCursor(this.starterIconsCursorIndex); @@ -1687,7 +1788,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } success = this.setCursor(this.cursor + 9); this.updateScroll(); - } else { // last row + } else if (numOfRows > 1) { + // DOWN from last row of Pokemon > Wrap around to first row + this.scrollCursor = 0; + this.updateScroll(); + success = this.setCursor(this.cursor % 9); + } else { + // DOWN from single row of Pokemon > Go to filters + this.filterBarCursor = this.filterBar.getNearestFilter(this.filteredStarterContainers[this.cursor]); this.setFilterMode(true); success = true; } @@ -1708,29 +1816,36 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (this.cursor % 9 !== 0) { success = this.setCursor(this.cursor - 1); } else { + // LEFT from filtered Pokemon, on the left edge + if (this.starterSpecies.length === 0) { - // just wrap around to the last column + // no starter in team > wrap around to the last column success = this.setCursor(this.cursor + Math.min(8, numberOfStarters - this.cursor)); - } else if (onScreenCurrentRow < 3) { - // always to the first starter - this.cursorObj.setVisible(false); - this.starterIconsCursorIndex = 0; - this.moveStarterIconsCursor(this.starterIconsCursorIndex); + } else if (onScreenCurrentRow < 7) { + // at least one pokemon in team > for the first 7 rows, go to closest starter this.cursorObj.setVisible(false); - this.starterIconsCursorIndex = Math.min(onScreenCurrentRow-2, this.starterSpecies.length - 1); + this.starterIconsCursorIndex = findClosestStarterIndex(this.cursorObj.y - 1, this.starterSpecies.length); this.moveStarterIconsCursor(this.starterIconsCursorIndex); + } else { + // at least one pokemon in team > from the bottom 2 rows, go to start run button this.cursorObj.setVisible(false); this.setSpecies(null); this.startCursorObj.setVisible(true); } success = true; } - } else { + } else if (numberOfStarters > 0) { + // LEFT from team > Go to closest filtered Pokemon + const closestRowIndex = findClosestStarterRow(this.starterIconsCursorIndex, onScreenNumberOfRows); this.starterIconsCursorObj.setVisible(false); this.cursorObj.setVisible(true); - success = this.setCursor(Math.min(onScreenFirstIndex + (this.starterIconsCursorIndex + 2) * 9 + 8,onScreenLastIndex)); // set last column + this.setCursor(Math.min(onScreenFirstIndex + closestRowIndex * 9 + 8, onScreenLastIndex)); + success = true; + } else { + // LEFT from team and no Pokemon in filter > do nothing + success = false; } break; case Button.RIGHT: @@ -1739,33 +1854,37 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (this.cursor % 9 < (currentRow < numOfRows - 1 ? 8 : (numberOfStarters - 1) % 9)) { success = this.setCursor(this.cursor + 1); } else { - // in right edge + // RIGHT from filtered Pokemon, on the right edge if (this.starterSpecies.length === 0) { - // just wrap around to the first column + // no selected starter in team > wrap around to the first column success = this.setCursor(this.cursor - Math.min(8, this.cursor % 9)); - } else if (onScreenCurrentRow < 3) { - // always to the first starter - this.cursorObj.setVisible(false); - this.starterIconsCursorIndex = 0; - this.moveStarterIconsCursor(this.starterIconsCursorIndex); + } else if (onScreenCurrentRow < 7) { + // at least one pokemon in team > for the first 7 rows, go to closest starter this.cursorObj.setVisible(false); - this.starterIconsCursorIndex = Math.min(onScreenCurrentRow-2, this.starterSpecies.length - 1); + this.starterIconsCursorIndex = findClosestStarterIndex(this.cursorObj.y - 1, this.starterSpecies.length); this.moveStarterIconsCursor(this.starterIconsCursorIndex); + } else { + // at least one pokemon in team > from the bottom 2 rows, go to start run button this.cursorObj.setVisible(false); this.setSpecies(null); this.startCursorObj.setVisible(true); } success = true; } - break; - } else { + } else if (numberOfStarters > 0) { + // RIGHT from team > Go to closest filtered Pokemon + const closestRowIndex = findClosestStarterRow(this.starterIconsCursorIndex, onScreenNumberOfRows); this.starterIconsCursorObj.setVisible(false); this.cursorObj.setVisible(true); - success = this.setCursor(Math.min(onScreenFirstIndex + (this.starterIconsCursorIndex + 2) * 9, onScreenLastIndex - (onScreenLastIndex % 9))); // set first column - break; + this.setCursor(Math.min(onScreenFirstIndex + closestRowIndex * 9, onScreenLastIndex - (onScreenLastIndex % 9))); + success = true; + } else { + // RIGHT from team and no Pokemon in filter > do nothing + success = false; } + break; } } } @@ -1959,7 +2078,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler { // pre filter for challenges if (this.scene.gameMode.modeId === GameModes.CHALLENGE) { - console.log("this.scene.gameMode.modeId", this.scene.gameMode.modeId); this.starterContainers.forEach(container => { const isValidForChallenge = new Utils.BooleanHolder(true); Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, container.species, isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(container.species, this.scene.gameData.getSpeciesDefaultDexAttr(container.species, false, true)), true); @@ -1997,7 +2115,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const fitsType = this.filterBar.getVals(DropDownColumn.TYPES).some(type => container.species.isOfType((type as number) - 1)); - const fitsShiny = this.filterBar.getVals(DropDownColumn.SHINY).some(variant => { + const fitsShiny = this.filterBar.getVals(DropDownColumn.DEX).some(variant => { if (variant === "SHINY3") { return isVariant3Caught; } else if (variant === "SHINY2") { @@ -2012,7 +2130,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }); const fitsPassive = this.filterBar.getVals(DropDownColumn.UNLOCKS).some(unlocks => { - if (unlocks.val === "PASSIVE" && unlocks.state === DropDownState.INCLUDE) { + if (unlocks.val === "PASSIVE" && unlocks.state === DropDownState.ON) { return isPassiveUnlocked; } else if (unlocks.val === "PASSIVE" && unlocks.state === DropDownState.EXCLUDE) { return !isPassiveUnlocked; @@ -2024,7 +2142,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const fitsWin = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { if (container.species.speciesId < 10) { } - if (misc.val === "WIN" && misc.state === DropDownState.INCLUDE) { + if (misc.val === "WIN" && misc.state === DropDownState.ON) { return isWin; } else if (misc.val === "WIN" && misc.state === DropDownState.EXCLUDE) { return isNotWin || isUndefined; @@ -2749,8 +2867,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (this.starterSpecies.length > 0) { this.starterIconsCursorIndex--; } else { + // No more Pokemon selected, go back to filters this.starterIconsCursorObj.setVisible(false); this.setSpecies(null); + this.filterBarCursor = Math.max(1, this.filterBar.numFilters - 1); this.setFilterMode(true); } } From 8b8ac416b80f7d7f9ad50ba2de608859351f7307 Mon Sep 17 00:00:00 2001 From: Leo Kim <47556641+KimJeongSun@users.noreply.github.com> Date: Sun, 4 Aug 2024 16:22:31 +0900 Subject: [PATCH 33/33] [Bug] Fix blocking menu when 6 starter selected (#3333) * fix bug of block menu when 6 starter * update comment * update comment again --- src/ui/starter-select-ui-handler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 3249ae668a1..22ce5cb7531 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -1265,7 +1265,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (button === Button.ACTION) { if (!this.speciesStarterDexEntry?.caughtAttr) { error = true; - } else if (this.starterSpecies.length < 6) { // checks to see you have less than 6 pokemon in your party + } else if (this.starterSpecies.length <= 6) { // checks to see if the party has 6 or fewer pokemon let species; @@ -1291,7 +1291,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const currentPartyValue = this.starterSpecies.map(s => s.generation).reduce((total: number, gen: number, i: number) => total += this.scene.gameData.getSpeciesStarterValue(this.starterSpecies[i].speciesId), 0); const newCost = this.scene.gameData.getSpeciesStarterValue(species.speciesId); - if (!isDupe && isValidForChallenge.value && currentPartyValue + newCost <= this.getValueLimit()) { // this checks to make sure the pokemon doesn't exist in your party, it's valid for the challenge and that it won't go over the cost limit; if it meets all these criteria it will add it to your party + if (!isDupe && isValidForChallenge.value && currentPartyValue + newCost <= this.getValueLimit() && this.starterSpecies.length < 6) { // this checks to make sure the pokemon doesn't exist in your party, it's valid for the challenge and that it won't go over the cost limit; if it meets all these criteria it will add it to your party options = [ { label: i18next.t("starterSelectUiHandler:addToParty"),